事务的处理从来都是“三部曲”: java 代码 try {     begin();     // ...     commit(); } catch (Exception e) {     rollback(); } 在 JDBC 中,调用事务处理并不复杂,因为 Connection 类提供了现成的方 ...
2007-03-15

DAO 设计3、数据库连接的管理

关键字: DAO 数据库连接
DAO 类是线程安全的,它的所有操作都通过调用 DbExecutor 对象来执行。每次操作,DAO 都会从 DbExecutorFactory 中获得一个 DbExecutor 对象。DAO 要做的就是保证做完操作之后都要执行 DbExecutor 对象的 close 方法。 DbExecutor 是一个接口,它的大部分方法和 DAO 差不多。它包含一个数据库连接,当连接关闭时,DbExecutor 对象的生命周期也就结束了。OraDbExecutor 是 DbExecutor 的一个实现。 OraDbExecutor.java - 构造函数 /** ...
创建了一个 DAO 类用来做所有的事情,包括查询。查询方法如下: java 代码 public List query(Class clazz, String sql, List params) throws DAOException;   第一个参数是用来接受封装的类。 有时候仅查询一个字段,根本不用封装: java 代码 public List query(String sql,  ...
没有哪个 DAO 能够包揽所有的数据库管理。每种 DAO 都有各自的定位。我们公司的项目有这样一些特点: 所用数据库都是 Oracle; 使用一些已有的数据库表; 查询语句要经过优化,DBA 要对其字斟句酌; 同时连接多个数据库。 我们的项目大都会用到一些其他系统现有的表。有的表包含四五十个字段,而对于某些业务逻辑来讲只需要查询一两个字段的值。DBA 强烈反对“select * ”,对关联查询、嵌套查询的性能要求也很严格。所以像 Hibernate 这样自动生成 SQL 语句的 DAO 自然不敢用。我们需要自己设计一个 ...
yiding_he
搜索本博客
我的相册
Cfb57b7d-ae9a-48a2-9009-c444d9fd2ef2-thumb
ClassDiagram1
共 4 张
最近加入圈子
存档
最新评论