MyBatis--動態SQL(在insert動態插入列中使用if)


 

第一步:先修改sys_user表,給user_email列設置默認值test@mybatis.tk

第二步:定義一個insert方法

1     /*
2      *   動態插入
3      */
4     int insert(SysUser sysUser);

第三步:編寫SysUserMapper.xml中的insert方法

 1 <insert id="insert" useGeneratedKeys="true" keyProperty="id">
 2         insert into sys_user(
 3         user_name,user_password,
 4         <if test="userEmail != null and userEmail !=''">
 5             user_email,
 6         </if>
 7         user_info,head_img,create_time)
 8         values(#{userName},#{userPassword},
 9         <if test="userEmail != null and userEmail !=''">
10             #{userEmail},
11         </if>
12         #{userInfo},#{headImg},#{createTime})
13     </insert>

第四步:編寫測試類

 1    @Test
 2         void test4(){
 3             SysUser user = new SysUser();
 4             user.setUserName("張三");
 5             user.setUserPassword("123456");
 6             user.setUserInfo("test_info");
 7             user.setCreateTime(new Date());
 8             userMapper.insert(user);
 9             //獲取到插入的這條數據
10             user =userMapper.selectById(user.getId());
11             System.out.println(user);
12         }

 

 

運行后數據庫結果--

 

 在新增的user中,我們並沒有給userEmail屬性賦值,這樣就會使用數據庫默認的值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM