mybatis 杂记
Posted 诺浅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 杂记相关的知识,希望对你有一定的参考价值。
背景
mybatis有一些常用语法总是忘记,为了避免每次都去网上搜,特此记录以备查阅。
日期比较方式
情况一、数据库是date,代码中也是用的date类型
<if test="startTime != null">
and ieq.last_upd_time >= #{startTime,jdbcType=TIMESTAMP}
</if>
需要注意的是if
中不能使用!=''
,否则会报错
情况二、数据库是date,代码中是string
可以类型转换后再比较
create_time >= str_to_date( #{startTime},'%Y-%m-%d %H:%i:%s')
也可以转换类型直接比较
create_time >= #{startTime}
IF标签的使用
string类型
<if test="str!=null and str!=''">
...
</if>
int类型
<if test="it!=null">
...
</if>
list类型,和foreach联合使用
<if test="list != null and list.size() > 0">
_claimreview.id in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</if>
Where标签的使用
<select id="findActiveBlogLike"
resultType="Blog">
SELECT * FROM BLOG
<where>
<if test="state != null">
state = #{state}
</if>
<if test="title != null">
AND title like #{title}
</if>
<if test="author != null and author.name != null">
AND author_name like #{author.name}
</if>
</where>
</select>
不同类型的参数应该如何传递
MybatisPlus Sql语句调用QueryWrapper
在接口中方法中:@Param(Constants.WRAPPER) QueryWrapper queryWrapper;
在我们的Mapper.xml文件中: 直接使用:${ew.customSqlSegment} 就可以调用QueryWrapper对象的条件sql
<select id="selectCustExtraInfoPage">
SELECT * FROM cust_info ${ew.customSqlSegment}
</select>
以上是关于mybatis 杂记的主要内容,如果未能解决你的问题,请参考以下文章
SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper