mybatis逆向工程中example用法

mybatis的逆向工程中會生成實例及實例對應的example,example用於添加查詢條件,相當where後面的部分

方法 說明
example.setOrderByClause(“字段名 ASC”) 按“字段名”升序排列,DESC爲降序
example.setDistinct(false) 去除重複,true爲選擇不重複的記錄
criteria.andXxxIsNull 字段xxx爲null
criteria.andXxxIsNotNull 字段xxx不爲null
criteria.andXxxEqualTo(value) xxx字段等於value
criteria.andXxxNotEqualTo(value) xxx字段不等於value
criteria.andXxxGreaterThan(value) xxx字段大於value
criteria.andXxxGreaterThanOrEqualTo(value) xxx字段大於等於value
criteria.andXxxLessThan(value) xxx字段小於value
criteria.andXxxLessThanOrEqualTo(value) xxx字段小於等於value
criteria.andXxxIn(List<?>) xxx字段值在List<?>
criteria.andXxxNotIn(List<?>) xxx字段值不在List<?>
criteria.andXxxLike(“%”+value+”%”) xxx字段值爲value的模糊查詢
criteria.andXxxNotLike(“%”+value+”%”) xxx字段值不爲value的模糊查詢
criteria.andXxxBetween(value1,value2) xxx字段值在value1和value2之間
criteria.andXxxNotBetween(value1,value2) xxx字段值不在value1和value2之間

selectByExample()

/**
 * select * from user where id = ? and pwd = ?
 */
UserExample example = new UserExample(); 
example.createCriteria().andIdEqualTo(id).andPwdEqualTo(pwd);
User user = userMapper.selectByExample(example);

updateByExample()

/**
 * 更新實體類中所有的字段,沒有設置的屬性爲null
 * update user set id = null, set nickname = '張三', set age = null where id = ?
 * 當然這個sql執行會報錯,因爲id不能爲空
 */
User user = new User();
user.setNickname("張三");

UserExample userExample = new UserExample();
userExample.createCriteria().andIdEqualTo(id);

int res = userService.updateByExampleSelective(user, userExample);

updateByExampleSelective()

/**
 * 實體類沒有設置的屬性爲null,mybatis會使用動態sql過濾掉,不更新該字段
 * update user set nickname = '張三' where id = ?
 */
User user = new User();
user.setNickname("張三");

UserExample userExample = new UserExample();
userExample.createCriteria().andIdEqualTo(id);

int res = userService.updateByExampleSelective(user, userExample);

deleteByExample()

/**
 * delete from user where id = ?
 */
UserExample userExample = new UserExample();
userExample.createCriteria().andIdEqualTo(id);

int res = userService.deleteByExample(userExample);

countByExample()

/**
 * select count(*) from user where nickname = '張三'
 */
UserExample userExample = new UserExample();
userExample.createCriteria().andNicknameEqualTo("張三");

int res = userService.countByExample(userExample);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章