jdbc/DAO模式
DAO设计模式:
1、DAO:
DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码,
增强程序的可移植性。
2、DAO各部分详解:
DAO设计模式包括以下4个主要部分:
(1)、数据库连接和关闭工具类;
数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库。
通过数据库连接类可以大大的简化开发,在需要进行数据库连接时,只需常见该类的
实例,并调用其中的方法就可以获得数据库连接对象和关闭数据库,不必再进行重复操作。
Package com.demo.dao1
Import java.sql.*;
Public class DataBaseConnection{
Private final String DBDRIVER = “com.mysql.jdbc.Driver”;
Private final String DBURL = “jdbc:mysql://localhost:3306/sql_w”;
Private final String DBUSER = “root””;
Private final String DBPASSWORD = “root”;
Private Connection conn = null;
Public DataBaseConnection(){
Try{
Class.forName(DBDRIVER);
This.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
}catch(Exception e){
System.out.println(“数据库连接失败!”);
}
}
Public Connection getConnection(){
Return conn;
}
Public void close(){
Try{
Conn.close();
}catch(){
System.out.println(“数据库连接关闭失败!”);
}
}
}
(2).VO即ValueObject也就是值对象,是一个包含属性和表中字段完全对应的类,并在该类中提供setter和getter
方法来设置并获取该类中的属性。例:
Package com.demo.dao1
Public classs User{
Private int userid;
Private String username;
Private String password;
Public int getUserid(){
Return userid;
}
Public void setUserid(int userid){
Return userid;
}
Public String getUsername(){
Return username;
}
Public void setUsername(String username){
Return username;
}
Public String getUserpassword(){
Return userpassword;
}
Public void setUserid(String userpassword){
Return userpassword;
}
}
(3).DAO接口类:
DAO接口中定义了所有的用户操作,如添加记录、删除记录及查询记录等。不过因为是借口,所以仅仅
是定义,需要子类实现。例:
Package com.demo.dao1;
Import java.util.*;
Public class UserDAO{
public void insert(User user)throw Exception;
Public void update(User user)throw Exception;
Public void delete(int userid)throw Exception;
Public User ById(int userid)throw Exception;
Public List All()throw Exception;
}
(4).DAO实现类:
DAO实现类实现了DAO接口,并实现了接口中定义的所有方法。
3、使用DAO完成数据库操作:
(1)、添加记录:
(2)、更新记录:
(3)、删除记录:
(4)、查询记录:
最新文章
- localdb
- 由SecureCRT引发的思考和学习
- error C2065: 'INVALID_SET_FILE_POINTER' : undeclared identifier
- osgi: HttpService A null service reference is not allowed.
- Xcode 报错信息
- Android Support Annotations :安卓注解快速上手
- hdu---(1800)Flying to the Mars(trie树)
- 使用ASP.NET操作IIS7中使用应用程序
- 合并js文件minify实例
- MyBatis的学习总结四:实现关联表查询【参考】
- jQuery 如何创建基本插件(翻译)
- 关于Cococs中的CCActionEase(下)
- C# 判断文件的真实格式
- Codeforces Round #368 (Div. 2)D. Persistent Bookcase DFS
- Swift 包管理器命令行使用
- JAVA操作证书
- C/C++生成静态库动态库及语言交互
- node压缩文件夹
- pygame游戏开发入门例子
- vs2005新建项目中没有ASP.NET WEB应用程序
热门文章
- Linux下PHP的完全卸载
- Android深度探索--HAL与驱动开发----第八章读书笔记
- HTML5体验改进的14条军规
- Android锁屏或灭屏状态下,快速按两次音量下键实现抓拍功能(1.2Framework层使用startService形式实现)
- Tomcat8 localhost+端口可以访问Manager APP,而IP+端口不可以访问 解决办法
- Spring的Bean的基本概念
- 用 Express4 写一个简单的留言板
- javascript之小积累-匿名函数表达式的最佳实践
- check_env函数解析
- js中的call和apply方法的区别