赞
踩
<if>标签在mybatis的开发工作中主要用于where查询,insert插入和update更新三种操作中,接下来对每种操作中的<if>标签做详细讲述.
案例使用代码参照<SpringBoot整合MyBatis>.
通过判断参数值是否为空来决定是否使用某个条件,需要注意的是,此处where 1=1 条件不可省略,可以用<where>标签题换,可读性更高,更佳优雅.
在SysUserMapper.xml中新增<select>标签:
- <select id="selectListByCondition" resultMap="sysUserMap" parameterType="Sysuser">
- select <include refid="sysUserSql"/>
- from sys_user
- where 1 = 1
- <if test="id != null">
- and id = #{id}
- </if>
- <if test="userName != null and userName !=''">
- and user_name like concat('%', #{userName}, '%')
- </if>
- <if test="userCode != null and userCode != ''">
- and user_code = #{userCode}
- </if>
- <if test="userInfo != null and userInfo != ''">
- and user_info like concat('%', #{userInfo}, '%')
- </if>
- <if test="status != null and status != ''">
- and status = #{status}
- </if>
- </select>
通过判断参数值是否为空来决定是否将SQL字段和对象加入到SQL语句中:
在SysUserMapper.xml中修改<insert>标签:
- <insert id="insertSysUser" useGeneratedKeys="true" keyProperty="id">
- <!--insert into sys_user(user_name, user_code, user_info, status) values (#{userName}, #{userCode}, #{userInfo}, #{status})-->
- insert into sys_user (
- <if test="userName != null and userName != ''">
- user_name,
- </if>
- <if test="userCode != null and userCode != ''">
- user_code,
- </if>
- <if test="userInfo != null and userInfo != ''">
- user_info,
- </if>
- status) values (
- <if test="userName != null and userName != ''">
- #{userName},
- </if>
- <if test="userCode != null and userCode != ''">
- #{userCode},
- </if>
- <if test="userInfo != null and userInfo != ''">
- #{userInfo},
- </if>
- #{status}
- )
- </insert>
通过判断参数值是否为空来决定是否将SQL字段和对象加入到SQL语句中:
在SysUserMapper.xml中修改<update>标签:
- <update id="updateSysUser">
- <!--update sys_user set user_name = #{userName}, user_code = #{userCode}, user_info = #{userInfo}, status = #{status} where id = #{id}-->
- update sys_user
- <set>
- <if test="userName != null and userName !=''">
- user_name = #{userName},
- </if>
- <if test="userCode != null and userCode != ''">
- user_code = #{userCode},
- </if>
- <if test="userInfo != null and userInfo != ''">
- user_info = #{userInfo},
- </if>
- <if test="status != null and status != ''">
- status = #{status},
- </if>
- id = #{id} where id = #{id}
- </set>
- </update>
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。