Dao分层设计模式

DAO设计模式用于降低耦合性,实现业务逻辑与数据库访问的分离。主要包括DAO接口、实现类、实体类(如PO、VO、DTO)和数据库连接工具类。在emp表的操作中,通过DAO接口和实现类实现查询、添加、删除和修改功能。使用阿里连接池Druid,实体类Emp实现了Serializable接口,并提供了getter/setter方法。测试类EmpDaoImplTest验证了各种操作的正确性,如添加、更新和查询等。
摘要由CSDN通过智能技术生成

DAO(Database Access Object
数据库访问对象)
为了降低耦合性,提出了DAO封装数据库操作的设计模式。
它可以实现业务逻辑与数据库访问相分离。相对来说,数据库是比较稳定的,其中DAO组件依赖于数据库系统,提供数据库访问的接口,隔离了不同的数据库实现。

DAO模式的组成部分

​ 1 DAO接口(主要包 添加 修改 查询 删除方法)

​ 2 DAO实现类

​ 3 实体类 (domain、beans、entity、pojo、model)

​ PO (VO)(Persistent Object, Value Object)

​ VO (View Object)

​ DTO (Data Transfer Object)

​ --作用:用在数据访问代码和业务逻辑代码之间通过实体类来传输数据

​ --实体类特征:

​ ◦属性一般使用private修饰

​ ◦提供public修饰的getter/setter方法

​ ◦实体类提供无参构造方法,根据业务提供有参构造

​ ◦实现java.io.Serializable接口,支持序列化机制

​ 4 数据库连接和关闭工具类

设计的包名 :

domain 存放实体类

utils 存放工具类

dao 存放接口

dao.impl 存放实现类

使用DAO设计模式实现emp表的查询、添加、删除、修改

图示
在这里插入图片描述
utils工具类
代码(使用阿里连接池druid);

public class DataSourceUtils {
private  static DruidDataSource dataSource;
static {
    try {
        Properties properties = new Properties();
        InputStream is = DataSourceUtils.class.getClassLoader().getResourceAsStream( "druid.properties" );
        properties.load( is );
        dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource( properties );
    } catch (Exception e) {
        e.printStackTrace();
    }
}
    public static DataSource getDataSource(){
        return dataSource;

}
    public static Connection getConnection(){
        try {
            return  dataSource.getConnection(  );
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
}

配置文件:

#连接设置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mysql?useSSL=true&characterEncoding=utf8
username=root
password=root
#<!-- 初始化连接 -->
initialSize=10
#最大连接数量
maxActive=50
#<!-- 最小空闲连接 -->
minIdle=5
#<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒 -->
maxWait=5000

实体类Emp:

public class 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值