Mybatis-Plus的BaseMapper的使用

  Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入 Mybatis 增删改查 CRUD 操作中间件, 减少你的开发周期优化动态维护 XML 实体字段。

  下面简单举例,调用BaseMapper中的一些基本方法。在使用的时候需要实现BaseMapper接口。

一、deleteByMap

接口注释如下:

/**
     * 

* 根据 columnMap 条件,删除记录 *

* *
@param columnMap 表字段 map 对象 * @return int */ Integer deleteByMap(@Param("cm") Map columnMap);

调用例子:

public int deleteById(Long id) {
     //删除条件
     Map columnMap = Maps.newHashMap();
   columnMap.put("id", id);

  return userMapper.deleteByMap(columnMap);
 }

二、selectList

接口注释如下:

/**
     * 

* 根据 entity 条件,查询全部记录 *

* *
@param wrapper 实体对象封装操作类(可以为 null) * @return List */ List selectList(@Param("ew") Wrapper wrapper);

调用例子:

public List searchUserList(User user) {
        EntityWrapper 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

源码接口注释:

/**
     * 

* 根据 whereEntity 条件,更新记录 *

* *
@param setStr set字符串 * @param wrapper 实体对象封装操作类(可以为 null) * @return */ Integer updateForSet(@Param("setStr") String setStr, @Param("ew") Wrapper wrapper);

使用举例:

public int updateStatus(Long status,  Long userId) {
       String setSql = " status=" + status;
       EntityWrapper ew = new EntityWrapper<>();
       ew.where("id={0}", userId);

       return userMapper.updateForSet(setSql, ew);
}

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

转载于:https://www.cnblogs.com/JoeyWong/p/9489701.html

你可能感兴趣的:(java)