继续潜水

导航

 

 

mapper中的写法 说明
&lt <
&gt >
&amp; &
&apos; '
&quot; "
 
 
 
 
 
 
 
 
 
1、特殊符号,mapper文件中有< > 用例表示标签开始和结束符号
<if test="opterBeginTime != null">
and OPT_TIME &gt;= #{opterBeginTime} <!-- 经办时间 -->
</if>
<if test="opterEndTime != null"> and OPT_TIME &lt;= #{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') &lt;= 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>

 

posted on 2025-08-18 11:56  继续潜水  阅读(15)  评论(0)    收藏  举报