zoukankan      html  css  js  c++  java
  • 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);
    }

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

  • 相关阅读:
    Redhat Enterprise Linux 磁带机质朴把持
    Lotus 认证介绍
    Delphi 与 DirectX 之 DelphiX(1): 安装测试
    关于结构体与类型转换的一点小技巧
    提取网页中的所有链接、点击第 n 个链接 回复 "刘丽" 的问题
    Delphi 与 DirectX 之 DelphiX(2): DelphiX 各单元概览
    模拟点击网页中的按钮 回复 "starcraft_ly" 的问题
    求助! 谁有 《inside delphiX》这本书?
    类型转换出现在赋值运算符左边的情况
    绘制一个钢琴键盘
  • 原文地址:https://www.cnblogs.com/JoeyWong/p/9489701.html
Copyright © 2011-2022 走看看