Mybatis-Plus的BaseMapper的使用


  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);
}

剩下的就自己舉一反三吧!!!


免責聲明!

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



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