数据访问层中的DAO组件的设计原则和设计模式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

cstmt.executeUpdate();
}
catch(SQLException e) { throw new JDBCException("在修改数据库表时出现错误!");
}
return true;
} public boolean executeStorProc(String proc_SqlStatement) throws JDBCException 务处理技术时
con.commit();
con.setAutoCommit(true);
okOrNot = true;
}
catch (SQLException e){
Βιβλιοθήκη Baidu
try{
con.rollback();
}
catch(SQLException ee){
杨教授大学堂,版权所有,盗版必究。 3/9 页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
connectDBBean.closeDBCon(); } public ResultSet SelectDBData(String select_SqlStatement) throws JDBCException{ ResultSet rs=null; try{
java.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
{
try{
java.sql.CallableStatement cstmt = con.prepareCall(proc_SqlStatement,
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE );
//考虑事
{
boolean okOrNot=false;
java.sql.CallableStatement cast=null;
try {
con.setAutoCommit(false);
cast = con.prepareCall(proc_SqlStatement);
cast.executeUpdate();
rs = pstmt.executeQuery(); } catch(SQLException e){
throw new JDBCException("在查询数据库表时出现错误!"); } return rs; } public ResultSet executeStoreProc(String proc_SqlStatement) throws JDBCException{ ResultSet rs=null; try{
} throw new JDBCException("executeStorProc SQLException Error"); } return okOrNot; } public boolean executeBatch(String batchSQL[]) throws JDBCException{ boolean okOrNot=false; Statement stmt= null; try{ con.setAutoCommit(false); stmt = con.createStatement(); for(int index=0; index <batchSQL.length; index++){
java.sql.CallableStatement cstmt = con.prepareCall(proc_SqlStatement, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = cstmt.executeQuery(); } catch(SQLException e){
private java.sql.Connection con=null; ConnectDBBean connectDBBean=null; public OperateDBBean() throws JDBCException { connectDBBean=new ConnectDBBean(); con=connectDBBean.getConnection(); if(con==null) {
数据访问逻辑组件是一个无状态类,也就是说,所交换的所有消息都可以独立解释。 调用之间不存在状态。
package com.px1987.webstudy.modelbean; import java.sql.*; import com.px1987.webstudy.exception.*; public class OperateDBBean{
throw new JDBCException("在查询数据库表时出现错误!"); } return rs; } public boolean callStoreProc(String proc_SqlStatement) throws JDBCException //不 考虑事务处理技术时
杨教授大学堂,版权所有,盗版必究。 2/9 页
throw new JDBCException("在 OperateDBBean 类中的 OperateDBBean 方法中 con 对象为空");
} } public void closeDBCon() throws JDBCException {
杨教授大学堂,版权所有,盗版必究。 1/9 页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
获取数据库连接;数据库查询、插入、修改、删除(CRID);断开数据库连接。而数据 库连接和断开数据库连接对于不同的数据表应该说都是统一的,因此,数据库的 JDBC 操作 可以做成一个通用类,这样就能达到重用目的。
在项目中实现上面的各种数据库的功能操作,主要是通过会话类程序来实现的。 (2)数据访问逻辑组件应该为一个无状态类
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
数据访问层中的 DAO 组件的设计原则和设计模式
1.1.1 数据访问层中的 DAO 组件的设计
1、数据访问逻辑(DAO)组件的设计 (1)关于数据库表中的数据存取主要操作
数据存取的目的,是持久化保存对象,以备后来的使用,如查询、修改、统计分析等。 存取的对象,可以是数据库、普通文件、XML 甚至其他任何方式。
相关文档
最新文档