基于mybatis like %%的问题
更新时间:2021年10月01日 08:34:56 作者:intelrain
这篇文章主要介绍了mybatis like %%的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
mybatis like %%问题
<select id="getMaxNotOnlineInfoByConditon" resultType="com.shishike.susie.entity.CustomConfirmInfo">
SELECT *
FROM t_customconfirminfo
WHERE (if(#{pduName,jdbcType=VARCHAR} IS NULL, 0 = 0, pduname = #{pduName,jdbcType=VARCHAR})
AND if(#{moduleName,jdbcType=VARCHAR} IS NULL, 0 = 0, modulename = #{moduleName,jdbcType=VARCHAR})
AND if(#{env,jdbcType=VARCHAR} IS NULL, 0 = 0, confirminfo = #{env,jdbcType=VARCHAR})
AND if(#{ossAddress,jdbcType=VARCHAR} IS NULL, 0 = 0, ossaddress = #{ossAddress,jdbcType=VARCHAR})
AND if(#{branch,jdbcType=VARCHAR} IS NULL, 0 = 0, branch like concat(concat('%',#{branch,jdbcType=VARCHAR}),'%'))
AND if(#{confirmId,jdbcType=BIGINT} IS NULL, 0 = 0, id > #{confirmId,jdbcType=BIGINT})
AND onlineinfo is null)
ORDER BY CREATED DESC
LIMIT 1
</select>
mybatis 关于like的处理
1、利用"%"对入参进行拼接
2、SQL语句字符串拼接
SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');
3、bind标签
<select id="findUserByFuzzyEmail" resultMap="BaseResultMap"
parameterType="java.lang.String">
select id,username,email,status,createtime,updatetime from tb_user
<bind name="pattern" value="'%'+_parameter.getEmail() +'%'" />
<where>
<if test="email != null and email != ''">
email like #{pattern}
</if>
</where>
</select>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
mybatis plus新增(insert)数据获取主键id的问题
这篇文章主要介绍了mybatis plus新增(insert)数据获取主键id的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-03-03
SpringBoot启动security后如何关闭弹出的/login页面
这篇文章主要介绍了SpringBoot启动security后如何关闭弹出的login页面问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
如何使用Spring Security实现用户-角色-资源的权限控制
文章介绍了如何通过SpringSecurity实现用户-角色-资源的权限管理,包括基于角色的请求控制、加载用户角色信息、角色与资源的关联等步骤,同时,提供了一些测试场景,以验证权限控制是否正确,感兴趣的朋友跟随小编一起看看吧2024-10-10


最新评论