java中的DAO模式是一个重要的概念,下面以一个登陆程序的例子,结合地理解DAO模式。
DAO模式的主要构成有:
1. PO包
PO对象,用于存储映射数据库表的对象
package i9.m.po ;
// 值对象,包含属性,setter,getter方法
public class Person
...{
private String name ;
private String password ;
// 生成getter、setter方法
public void setName(String name)
...{
this.name = name ;
}
public void setPassword(String password)
...{
this.password = password ;
}
public String getName()
...{
return this.name ;
}
public String getPassword()
...{
return this.password ;
}
这里假定传入的只有name和password两个属性,po实质上就是一个简单的JAVABEAN
2.DAO包
(1)一个connection类:管理数据库的连接对象:
package i9.m.dao;
import java.sql.*;
public class DBConnection ...{
private final String driver="com.mysql.jdbc.Driver";
private final String url="jdbc:mysql://localhost:3306/newsdata";
private final String user="root";
private final String pwd="root";
private Connection conn;
public DBConnection()
...{
try ...{
Class.forName(driver);
this.conn = DriverManager.getConnection(url,user,pwd);
} catch (ClassNotFoundException e) ...{
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (SQLException e) ...{
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
public Connection getConnection()
...{
return this.conn;
}
public void close()
...{
try ...{
this.conn.close();
} catch (SQLException e) ...{
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
(2)一个接口:规定对特定的数据的存取接口
package i9.m.dao;
import i9.m.po.*;
import java.util.*;
public interface IPersonDAO ...{
public void insert(Person person) throws Exception;
public void update(Person person)throws Exception;
public List queryAll() throws Exception ;
public Person queryByID(String id) throws Exception;
public void delete(String id)throws Exception;
}
(3)一个接口的实现类:实现具体的数据库存取操作
/** *//**design by Miracle9i @2007-11-13
*
*/
package i9.m.dao;
import java.util.*;
import java.sql.*;
import i9.m.po.*;
/** *//**
* design by Miracle9i @2007-11-13
*
*/
public class PersonDAOImple implements IPersonDAO...{
public void insert(Person person) throws Exception
...{
String name = person.getName();
String pwd = person.getPassword();
PreparedStatement pstmt = null;
DBConnection dbc = null;
String sql = "insert into admins (id,username,password) values (?,?,?)";
try ...{
dbc = new DBConnection();
pstmt = dbc.getConnection().prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, pwd);
pstmt.executeUpdate();
} catch (RuntimeException e) ...{
// TODO 自动生成 catch 块
e.printStackTrace();
}
finally
...{
pstmt.close();
}
}
public void update(Person person)throws Exception
...{
String name = person.getName();
String pwd = person.getPassword();
PreparedStatement pstmt = null;
DBConnection dbc = null;
String sql = "update admins set id=?,username=?,password=?";
try ...{
dbc = new DBConnection();
pstmt = dbc.getConnection().prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, pwd);
pstmt.executeUpdate();
} catch (RuntimeException e) ...{
// TODO 自动生成 catch 块
e.printStackTrace();
}
finally
...{
pstmt.close();
}
}
public List queryAll() throws Exception
</di>
分享到:
相关推荐
DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式
DAO设计模式 DAO 设计模式 JAVA设计模
基于DAO设计模式的新闻发布系统基于DAO设计模式的新闻发布系统基于DAO设计模式的新闻发布系统基于DAO设计模式的新闻发布系统基于DAO设计模式的新闻发布系统
李兴华DAO设计模式
自己写的java Dao设计模式操作数据库,很方便。
DAO设计模式DAO设计模式,网上多份精华讲解汇总!
写的一个简单的实现JSP+Servlet+Ajax的dao设计模式
用简单易懂的例子说明DAO设计模式(附带sql脚本,mysql数据库)
J2EE学习笔记--DAO设计模式基础.txt
java,dao设计模式,主要介绍Dao三层架构的设计模式,让我们更加深入理解Java 框架。
李兴华 DAO设计模式 实现 增删改查 分页查询 完整代码
本教程主要介绍了Dao设计模式,并且还有一些实例
DAO设计模式可以通过采用抽象工厂和工厂方法模式来变得非常的灵活. 当底层数据存储实现不需要发生改变时,该策略可以使用工厂方法设计模式实现,来产生应用中所需的DAO. 当底层数据储存实现不得不发生变化的时候, ...
我看过讲解java DAO设计模式最好的一片文章
博客http://write.blog.csdn.net/postedit/47817289的辅助资料, 方便理解设计模式5——DAO,感兴趣朋友们,欢迎你下载。
Java DAO 设计模式.pdf j2ee
DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性。
WEB开发中非常经典的DAO设计模式,非常好 的资料