1、特殊符号,mapper文件中有< > 用例表示标签开始和结束符号
mapper中的写法 | 说明 |
< | < |
> | > |
& | & |
' | ' |
" | " |
<if test="opterBeginTime != null">
and OPT_TIME >= #{opterBeginTime} <!-- 经办时间 -->
</if>
<if test="opterEndTime != null">
and OPT_TIME <= #{opterEndTime} <!-- 经办时间 -->
</if>
2、 <![CDATA[ xxxxxxxxxxxxx ]]> , 被<![CDATA[ ]]>包裹的内容可以原样显示
如: <![CDATA[ <= ]]>
CRTE_TIME <![CDATA[ <= ]]> #{setlTime}
3、concat 拼接函数
<if test="empName != null and empName != ''">
AND emp_name like concat('%',#{empName,jdbcType=VARCHAR},'%')
</if>
4、对于日期:DATE_FORMAT(OPT_TIME,'%Y-%m-%d') 以特定格式展示日期
<if test="opterEndTime != null">
and DATE_FORMAT(OPT_TIME,'%Y-%m-%d') <= DATE_FORMAT(#{opterEndTime},'%Y-%m-%d') <!-- 经办时间 -->
</if>
5、对于开始结束时间,用户输入的日期需要在这范围内,同时,结束时间可以为null
<if test="queryDate != null">
and #{queryDate} >= BEGNTIME
and IFNULL(ENDTIME >= #{queryDate},TRUE ) <!-- 按时间点查询 -->
</if>
6、GROUP_CONCAT函数
dept_d表数据如下:
dept_id | dept_name |
1 | 0001 |
1 | 0001 |
1 | 0002 |
2 | 0002 |
原样输出:
select dept_id, dept_name from dept_d;
对dept_name使用group_concat函数:
select dept_id, group_concat(dept_name) as dept_name from dept_d;
dept_id | dept_name |
1 | 0001,0001,0002 |
2 | 0002 |
select dept_id, group_concat(distinct(dept_name)) from dept_d;
dept_id | group_concat(distinct(dept_name)) |
1 | 0001,0002 |
2 | 0002 |
7、根据id批量删除
<delete id="deleteTaskInfoBatch">
delete from task_info_b where task_id in
<foreach collection="taskIds" item="taskId" open="(" close=")" separator="," index="index">
#{taskId} <!-- 任务id -->
</foreach>
</delete>