如何快速提取mybatis mapper里的sql语句

1 笨点,就是直接粘贴,手动去掉里面的判断语法

2 调用SqlSessionTemplate的方法

import org.mybatis.spring.SqlSessionTemplate; 
String sql=  sqlsessionTemplate.getConfiguration().getMappedStatement("com.test.TestMapper.selectByPrimaryKey").getBoundSql(map).getSql();
    

其中要注意的点有:

  • 1如何获取sqlSessionTemplate?
  1.     如果是传统spring-mybatis框架搭建的项目,在xml的配置文件中,我们有配置dataSource-->sqlSessionFactory-->sqlSessionTemplate,这样逐层注入,由spring来管理bean,要测试的话,就通过junit测试,启动项目加载,然后注入sqlSessionTemplate这个bean对象
  2.   如果是通过springboot搭建的项目,采用自动配置方式的话,springboot已经为我们配置好了这个bean,我们只需要在用到的地方直接注入即可
  3. 如果是springboot搭建的项目,并且为多数据配置,每个数据源配置类都各自显示定义了sqlSessionTemplate bean,就按需注入即可。
  • 2 关于方法的使用:

          map为在需要做逻辑判断的地方,就需要传参来判断sql分支了;

          sql语句的唯一标识要写全 包含namespace和句柄id

         注意:传参只影响走的分支,最终sql中的参数位置是问号拼接的!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值