MyBatis-动态sql语句-if用法——MySQL系列学习笔记
生活随笔
收集整理的這篇文章主要介紹了
MyBatis-动态sql语句-if用法——MySQL系列学习笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
select
根據傳入的參數來決定:如果用戶名不為空,則對用戶名進行模糊查詢,如果郵箱不為空,則以郵箱為查詢條件
<select id="selectByUser" parameterType="com.tgb.mybatis.entity.SysUser" resultType="com.tgb.mybatis.entity.SysUser">selectuser_name "userName",user_password "userPassword",user_info "userInfo",head_img "headImg",create_time "createTime"fromsys_userwhere1=1<if test="userName != null and userName !=''">and user_name like CONCAT('%',#{userName},'%')</if><if test="userEmail != null and userEmail != ''">and user_email =#{userEmail}</if></select>update
找到id為xxx這條數據,逐個屬性判斷,如果該屬性不為空,則進行更新操作
<update id="updateById">update sys_userSET<if test="userName != null and userName !=''">user_name = #{userName},</if><if test="userPassword != null and userPassword !=''">user_password = #{userPassword},</if><if test="userEmail != null and userEmail !=''">user_email = #{userEmail},</if><if test="userInfo != null and userInfo !=''">user_info = #{userInfo},</if><if test="headImg != null and headImg !=''">head_img = #{headImg},</if><if test="createTime != null and createTime !=''">create_time =#{createTime},</if>id = #{id}whereid = #{id}</update>insert
<insert id="insert">insert into sys_user(user_name,user_password,<if test="userEmail !=null and userEmail != ''">user_email,</if>user_info,head_img,create_time)VALUES(#{userName},#{userPassword},<if test="userEmail != null and userEmail !=''">user_email = #{userEmail},</if>#{userInfo},#{headImg, jdbcType=BLOB},#{createTime,jdbcType=TIMESTAMP})</insert>關于where1=1的應用,參見我的這個博客——>一起去大廠系列】深入理解MySQL中where 1 = 1的用處
總結
以上是生活随笔為你收集整理的MyBatis-动态sql语句-if用法——MySQL系列学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【一起去大厂系列】针对left join
- 下一篇: MySQL中count(1),count