Java DAO模式 数据层实现类

本博客根据《李兴华--java8编程开发入门》视频整理而来。

1. 数据层需要被业务层调用,数据层需要进行数据库的执行(PreparedStatement)。

2. 在开发中,一个业务层操作需要执行多个数据层的调用,所以数据库的打开与关闭操作,应该由业务层控制。

3. 整个设计过程中,数据层中不用关注数据库如何打开关闭;但要想能够正常操作数据层,必须要保证存在有Connection对象。

4. 所有的数据层实现类要求保存在dao.impl子包下。


范例:EmpDAOImpl子类

子类中唯一需要注意的地方就是构造方法一定要接收一个Connection对象!

package com.fs.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import com.fs.dao.IEmpDAO;
import com.fs.vo.Emp;


public class EmpDAOImpl implements IEmpDAO {
	private Connection conn; // 需要利用Connection对象进行数据库操作
	private PreparedStatement pstmt; // 数据库语句的执行
	/**
	 * 如果要想使用数据层进行原子性的功能操作实现,必须提供有Connection接口对象<br>
	 * 另外&#x
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java设计模式DAO模式   DAO设计模式    DAO的理解   1、DAO其实是利用组合工厂模式来解决问题的,并没有带来新的功能,所以学的 其实就是个思路。   2、DAO理论上是没有数限制的。   3、DAO的各理论上是没有先后的。    DAO模式的本质   一屏蔽一种变化 " " " "1 "<strong> DAO基础 " " " " " " " "2 "DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底数据访问操作和上的商务逻辑分开.一个典型的" " "'DAO实现有下列几个组件: " " " " "3 " " " "1 " " ". 一个DAO工厂; " "4 " " " " " " "2 " "5 ". 一个DAO接口; " " " " " " " "6 "3 " " ". 一个实现DAO接口的具体; " " " " " " " " "4 " " ". 数据传递对象(有些时候叫做值对象).</strong> "   下面举例(多dao接口的实现)   具体实现:   1.dao接口: " " " "1 "package " " "cn.hncu.pattern.dao.dao; " " " " "2 " " " "public " " "interface " "3 "DepDAO { " " " " " " " "4 " " " "public " " "void " "5 "create(String userId, String name); " " " " " " " " "} "   2.dao工厂 " " " "1 "package " " "cn.hncu.pattern.dao.factory; " " " " "2 " " " "import " " "cn.hncu.pattern.dao.dao.DepDAO; " "3 " " " " " " "import " "4 "cn.hncu.pattern.dao.impl.a.factory.F2AFactory; " " " " " " " "5 "import " " "cn.hncu.pattern.dao.impl.b.factory.F2BFactory; " " " " "6 " " " "public " " "class " "7 "F1Factory { " " " " " " " "8 " " " "private " " "F1Factory(){ " "9 " " " " " " " " "10 "} " " " " " " " "11 " " " "public " " "static " "12 "DepDAO getDepDAO(){ " " " " " " " "13 " " " "int " " "type1= " "14 "1 " " "; " " "//第一工厂的选择型,按理应该从用户的配置信息中读取,我们这里模拟了 " "15 " " " " " " " " "16 " " " "if " " "(type1== " "17 "1 " " "){ " " " " "18 " " " " " " "return " "19 "F2AFactory.getDepDAO(); " " " " " " " " " " " "} " " "else " " "if " " "(type1== " " "2 " " "){ " " " " " " " " " " " "return " " "F2BFactory.getDepDAO(); " " " " " " " " " " " "} " " " " " " " " " " " "return " " "null " " "; " " " " " " " " " " " "} " " " " " " " " "} "   3.dao实现接口   第二dao " " " "1 "package " " "cn.hncu.pattern.dao.impl.a.factory; " " " " "2 " " " "import " " "cn.hncu.pattern.dao.dao.DepDAO; " "3 " " " " " " "import " "4 "cn.hncu.pattern.dao.impl.a.rdb.factory.F3A_RDB_Factory; " " " " " " " "5 "import " " "cn.hncu.pattern.dao.impl.b.factory.F2BFactory; " " " " "6 " " " "public " " "class " "7 "F2AFacto

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值