MybatisPlus如何实现原生SQL调用?三种方法实例解析!
- 内容介绍
- 文章标签
- 相关推荐
本文共计733个文字,预计阅读时间需要3分钟。
目录+前言+方法一+方法二+方法三+MyBatis-Plus执行原生SQL+在有些情况下需要用到MybatisPlus查询原生SQL,MybatisPlus其实自带运行原生SQL的方法,我这里列举三种+方法一+这也是网上流传最广的“
目录
- 前言
- 方法一
- 方法二
- 方法三
- MyBatis-Plus执行原生SQL
前言
在有些情况下需要用到MybatisPlus查询原生SQL,MybatisPlus其实带有运行原生SQL的方法,我这里列举三种
方法一
这也是网上流传最广的方法,但是我个人认为这个方法并不优雅,且采用${}的方式代码审计可能会无法通过,会被作为代码漏洞
public interface BaseMapper<T> extends com.baomidou.mybatisplus.core.mapper.BaseMapper<T> { @Select("${nativeSql}") Object nativeSql(@Param("nativeSql") String nativeSql); }
使用一个自己的BaseMapper去继承MybatisPlus自己的BaseMapper,然后所有的Mapper去继承自己写的BaseMapper即可。那么所有的Mapper都能查询原生SQL了。
问题在于${nativeSql}可能会被作为代码漏洞,我并不提倡这种写法。
本文共计733个文字,预计阅读时间需要3分钟。
目录+前言+方法一+方法二+方法三+MyBatis-Plus执行原生SQL+在有些情况下需要用到MybatisPlus查询原生SQL,MybatisPlus其实自带运行原生SQL的方法,我这里列举三种+方法一+这也是网上流传最广的“
目录
- 前言
- 方法一
- 方法二
- 方法三
- MyBatis-Plus执行原生SQL
前言
在有些情况下需要用到MybatisPlus查询原生SQL,MybatisPlus其实带有运行原生SQL的方法,我这里列举三种
方法一
这也是网上流传最广的方法,但是我个人认为这个方法并不优雅,且采用${}的方式代码审计可能会无法通过,会被作为代码漏洞
public interface BaseMapper<T> extends com.baomidou.mybatisplus.core.mapper.BaseMapper<T> { @Select("${nativeSql}") Object nativeSql(@Param("nativeSql") String nativeSql); }
使用一个自己的BaseMapper去继承MybatisPlus自己的BaseMapper,然后所有的Mapper去继承自己写的BaseMapper即可。那么所有的Mapper都能查询原生SQL了。
问题在于${nativeSql}可能会被作为代码漏洞,我并不提倡这种写法。

