mybatis-mysql常用操作

简介:

       使用mysql时,mybatis常用拼接

时间范围查询:

controller:

@ApiParam(name = "startTime", value = "开始时间", required = false) @RequestParam(name = "startTime", required = false) String startTime,
@ApiParam(name = "endTime", value = "结束时间", required = false) @RequestParam(name = "endTime", required = false) String endTime,
map.put("startTime", startTime);
map.put("endTime", endTime);

server:

String startTime = null;
if (map.get("startTime") != null) {
    startTime = map.get("startTime").toString();
}
String endTime = null;
if (map.get("endTime") != null) {
    endTime = map.get("endTime").toString();
}

dao:

@Param("startTime") String startTime,@Param("endTime") String endTime,

mybatis方式一:

<if test="startTime!=null and startTime!='' and endTime!=null and endTime!=''">
    AND
        <![CDATA[ DATE_FORMAT(t.create_time,'%Y-%m-%d')>=DATE_FORMAT(#{startTime},'%Y-%m-%d') ]]>
    AND
        <![CDATA[ DATE_FORMAT(t.create_time,'%Y-%m-%d')<=DATE_FORMAT(#{endTime},'%Y-%m-%d') ]]>
</if>

mybatis方式二: 

<if test="startTime!=null and startTime!='' and endTime!=null and endTime!=''">
    and (DATE_FORMAT(t.create_time,'%Y-%m-%d')  between  #{startTime} and  #{endTime} )
</if>

模糊查询like:

<if test="name!=null">
    and m.name LIKE CONCAT('%', #{name}, '%')
</if>

多字段模糊查询like:       

<if test="name!=null">
    AND (m.`name` LIKE CONCAT('%', #{name}, '%') OR m.`tags` LIKE CONCAT('%',#{name},'%') OR m.code LIKE CONCAT('%',#{name},'%') )
</if>

通过集合查询

@ApiParam(name = "listxxx", value = "查询人员列表", required = false) @RequestParam(name = "listxxx", required = false) List<Long> listxxx,

mybatis:

<if test="listxxx!=null and listxxx.size > 0 ">
   and accountId in
        <foreach collection="listxxx" open="(" close=")" separator="," item="itemId">
            #{itemId}
        </foreach>
</if>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值