mybatis学习之原始开发DAO与mapper代理开发DAO的区别

本文介绍了MyBatis中原始DAO开发与Mapper代理开发的区别。在原始开发方式下,开发者需要编写DAO接口和实现类,存在模板代码重复和SQLID硬编码等问题。而Mapper代理方式则简化了这一过程,只需定义接口,通过映射文件与XML配置实现SQL操作。文章详细阐述了Mapper代理的配置和使用,并讨论了相关问题,如方法参数限制等。
摘要由CSDN通过智能技术生成

1、SqlSession使用的范围

1.1 SqlSessionFactoryBuilder

通过 SqlSessionFactoryBuilder创建会话工厂 SqlSessionFactory
SqlSessionFactoryBuilder当成一个 工具类来使用,不需要使用单例模式管理 SqlSessionFactoryBuilder。
在需要创建 SqlSessionFactory时,只需要 new一次 SqlSessionFactoryBuilder即可

1.2 SqlSessionFactory

通过 SQLSessionFactory创建 SqlSession,可以使用单例模式进行管理 SqlSessionFactory(一旦创建,一直使用一个实例)

将来和spring整合后,使用单例模式进行管理 SqlSessionFactory

1.3SqlSession

SqlSession是一个面向用户(开发者)的接口
SqlSession中提供了很多操作数据库的方法:selectOne(返回单个),selectList(返回单个或多个).等。。
SqlSession是线程不安全的,在SqlSession实现类中除了有接口中的方法(操作数据库的方法),还有数据域的属性
SqlSession最佳的应用场合在方法体内,定义成局部变量使用

2、原始开发DAO的方法(需要开发者编写DAO接口类和DAO实现类)

2.1思路

开发者需要编写DAO接口类和DAO实现类
需要向DAO实现类中注入 SqlSessionFactory,在方法体内通过 SQLSessionFactory创建 SQLSession

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值