Mybatis-Plus 是一款 Mybatis 動態 SQL 自動注入 Mybatis 增刪改查 CRUD 操作中間件, 減少你的開發周期優化動態維護 XML 實體字段。
下面簡單舉例,調用BaseMapper中的一些基本方法。在使用的時候需要實現BaseMapper接口。
一、deleteByMap
接口注釋如下:
/** * <p> * 根據 columnMap 條件,刪除記錄 * </p> * * @param columnMap 表字段 map 對象 * @return int */ Integer deleteByMap(@Param("cm") Map<String, Object> columnMap);
調用例子:
public int deleteById(Long id) { //刪除條件 Map<String, Object> columnMap = Maps.newHashMap(); columnMap.put("id", id); return userMapper.deleteByMap(columnMap); }
二、selectList
接口注釋如下:
/** * <p> * 根據 entity 條件,查詢全部記錄 * </p> * * @param wrapper 實體對象封裝操作類(可以為 null) * @return List<T> */ List<T> selectList(@Param("ew") Wrapper<T> wrapper);
調用例子:
public List<SysUser> searchUserList(User user) { EntityWrapper<User> ew = new EntityWrapper<>(); ew.where(user.getId() != null, "id={0}", user.getId()) .like(!Strings.isNullOrEmpty(user.getUserName()), "user_name", "%" + user.getUserName() + "%") .where(user.getStatus() != null, "status={0}", user.getStatus()); return userMapper.selectList(ew); }
上面的調用,當條件 user.getId()不等於空時,后面的條件才會出現在where中。
三、updateForSet
源碼接口注釋:
/** * <p> * 根據 whereEntity 條件,更新記錄 * </p> * * @param setStr set字符串 * @param wrapper 實體對象封裝操作類(可以為 null) * @return */ Integer updateForSet(@Param("setStr") String setStr, @Param("ew") Wrapper<T> wrapper);
使用舉例:
public int updateStatus(Long status, Long userId) { String setSql = " status=" + status; EntityWrapper<User> ew = new EntityWrapper<>(); ew.where("id={0}", userId); return userMapper.updateForSet(setSql, ew); }
剩下的就自己舉一反三吧!!!