Mybatis dao 整合SqlSessionDaoSupport 以及Mybatisplus 对比

  1. mybatis dao提供两种方案继承接口和mapper.xml (mybatis本身是半orm框架)

  1. sqlSessionDaoSupport本身就是为了给用户提供dao方案而存在抽象类。它继承了Daosupport,重写了checkConfig方法(提供校验是否有sqlSessionTemplate)

  1. 我们做Dao时,需实现类继承SqlSeesionDaoSupport,使用该类提供的sqlSessionTemplate获取SqlSession。(sqlSessionFactory也是由SqlSessionTemplate提供)

  1. SqlSession里提供一个getMapper方法,返回所代理对象,使用该对象进行操作方便快速。

如果不用该方法也可以使用sqlSession.selectOne()。但SqlSession里的SelectOne提供两种方法,这两种方法均需要指定statementId.所以还是代理好用,但是代理需要手动初始化。

4.1 代理方法

代理方法首先需要一个mapper。sqlSession完全代理了该statement,再使用的时候就无需再指定。

注意:但在SqlSessionDaoSupport里,sqlSessionTemplate未被引入。所以我们重新引入SqlSessionTemplate.

但是这个方案则需要每次都引用一次。为了方便可以提出一个baseDao,然后使用泛型载入。

注:要写Mapper.xml文件 需要sqlMapConfig.xml中进行配置

<mappers>

<mapper resource="XX.xml文件地址" />

</mappers>

另:myBatisPlus dao只要继承BaseMapper<T>即可。

mybatisPlus 源码

在mybatisSqlSessionFactoryBean中,SqlSessionFactory getObject()方法中,去看,它完成了一个自动装配的过程。它扫描了本地所有的Mapper,把所有Mapper全部初始化到了SqlSessionFactory里了。所以使用的时候,只需要传入它的T,就能对应创建出该对应的SqlSession。所以直接用即可。

其实思路一样,只是在于,一个手动一个自动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值