需求
SELECT
id ,
gender ,
nickname ,
mobile ,
avatar
FROM
dts_user
WHERE
gender = 1
AND mobile LIKE '%56%'
查询结果
mybatis动态sql配置
进阶一>>查询条件 gender 已固定,模糊查询 mobile 以修改成了动态配置
<select id="queryUserByWhere" parameterType="user" resultType="user">
SELECT id , gender ,nickname ,mobile ,avatar From dts_user
WHERE gender = 1 AND mobile LIKE '%${mobile}%'
select>
进阶二>>查询条件 gender(只能查 gender 为 0 或者 1 的用户数据 )和模糊查询 mobile 都修改成了动态配置
<select id="queryUserByWhere" parameterType="user" resultType="user">
SELECT id , gender ,nickname ,mobile ,avatar From dts_user
WHERE gender = #{gender} AND mobile LIKE '%${mobile}%'
select>
进阶三>>if 标签来判断,可选择性来使用查询条件
<select id="queryUserByWhere" parameterType="user" resultType="user">
SELECT id , gender ,nickname ,mobile ,avatar From dts_user
WHERE 1=1
<if test="gender != null and gender != ''">
AND gender = #{gender}
if>
<if test="mobile != null and mobile != ''">
AND mobile LIKE '%${mobile}%'
if>
select>
进阶四>>查所有用户的信息时,不传 gender 与 username 数据
<select id="queryUserByWhere" parameterType="user" resultType="user">
SELECT id , gender ,nickname ,mobile ,avatar From dts_user
<where>
<if test="gender != null">
AND gender = #{gender}
if>
<if test="mobile != null and mobile != ''">
AND mobile LIKE '%${mobile}%'
if>
where>
select>
一个实战复杂的示例仅仅提供sql
@Select(" "
点击下方卡片/微信搜索,关注公众号“天宇文创意乐派”(ID:gh_cc865e4c536b)
天宇文创意乐派
个人订阅号 主要提供:分享最新资讯 IT教程 免费小说的平台
公众号
本文使用 文章同步助手 同步