Skip to main content

MyBatis 执行器

在 4.1.8 版本后加入了 @@MyBatis 执行器(非常感谢 社区小东的贡献 https://gitee.com/jmxd ),MyBatis 执行器是对 @@sql 执行器的一个扩展,它会继承所有 @@sql 的能力。 同时提供类似 MyBatis 的配置方式,并提供了动态 SQL 的能力。

对比 @@sql 的优势

  • 继承 @@sql 全部能力
  • 动态SQL能力,提供 SQL 层面的 iffor
  • 类似 MyBatis 的工作方式,比起 DataQL 拼接字符串注入更加安全可靠。
用法
var dimSQL = @@MyBatis(userName)<%
<select>
select * from user_info where `name` like concat('%',#{userName},'%') order by id asc
</select>
%>;

可用的根标签

根标签含义
selectSelect 语句
updateUpdate 语句
insertInsert 语句
deleteDelete 语句

foreach 标签

与 MyBatis 的用法一致,用来循环拼接SQL。下面是可用的标签属性。

属性含义
collection集合,必填项
itemitem,必填项
open拼接起始SQL,选填
close拼接结束SQL,选填
separator分隔符,选填
<foreach collection="userIds.split(',')" item="userId" open="(" close=")" separator=",">
#{userId}
</foreach>

if 标签

与 MyBatis 一致,用来判断,当条件成立时拼接if标签里的内容

属性含义
test判断条件,必填项
<if test="userId != null and userId != ''">
and user_id = #{userId}
</if>