Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口

1.快速开始
2.代码生成器
3.CRUD接口——Service CRUD接口
4.CRUD接口——Mapper CRUD接口
5.条件构造器
6.分页插件
7.Sequence主键
8.自定义ID生成器
9.逻辑删除
10.乐观锁插件
11.自动填充

本章目录

    • 一、测试insert
    • 二、测试Delete
    • 三、测试Update
    • 四、测试Select


一、测试insert

// 插入一条记录
int insert(T entity);

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第1张图片
原数据库数据:

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第2张图片

服务层插入代码:

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {


    public void insert() {
        User user = new User();
        user.setId(5L);
        user.setAge(25);
        user.setName("hk4");
        user.setEmail("[email protected]");

        baseMapper.insert(user);
    }
}

控制层调用代码:

    @Autowired
    UserServiceImpl userServiceImpl;

    @RequestMapping("/insert")
    public void insert() {
      userServiceImpl.insert();
    }
}

开启服务器,访问http://localhost:8080/hk/insert

数据库数据如下:

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第3张图片

上一篇讲Service层的CRUD接口其实是继承的IService中的方法,而Mapper层的CRUD接口继承的是BaseMapper中的方法

在这里插入图片描述

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第4张图片


二、测试Delete

//1 根据 entity 条件,删除记录
int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
//2 删除(根据ID 批量删除)
int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
//3 根据 ID 删除
int deleteById(Serializable id);
//4 根据 columnMap 条件,删除记录
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第5张图片
原数据库数据:

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第6张图片

说一下3

服务层删除代码:

  public void delete() {
        baseMapper.deleteById(1L);
    }

控制层调用代码:

@RequestMapping("/delete")
public void delete() {
    userServiceImpl.delete();
}

开启服务器,访问http://localhost:8080/hk/delete

数据库表数据如下所示:

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第7张图片


三、测试Update

//1 根据 whereEntity 条件,更新记录
int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);
//2 根据 ID 修改
int updateById(@Param(Constants.ENTITY) T entity);

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第8张图片

原数据库数据如下:

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第9张图片
服务层更新代码:

public void  update1() {
    User user = new User();
    user.setId(5L);
    user.setAge(25);
    user.setName("hk444444");
    user.setEmail("[email protected]");
    baseMapper.updateById(user);
}

控制层调用代码:

  @RequestMapping("/update1")
    public void update1() {
        userServiceImpl.update1();
    }

开启服务器,访问http://localhost:8080/hk/update1

数据库表数据如下:

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第10张图片

四、测试Select

//1 根据 ID 查询
T selectById(Serializable id);
//2 根据 entity 条件,查询一条记录
T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

//3 查询(根据ID 批量查询)
List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
//4 根据 entity 条件,查询全部记录
List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
//5 查询(根据 columnMap 条件)
List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
//6 根据 Wrapper 条件,查询全部记录
List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
//7 根据 Wrapper 条件,查询全部记录。注意: 只返回第一个字段的值
List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

//8 根据 entity 条件,查询全部记录(并翻页)
IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
//9 根据 Wrapper 条件,查询全部记录(并翻页)
IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
//10 根据 Wrapper 条件,查询总记录数
Integer selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第11张图片
数据库表数据如下:

Mybatis-plus学习笔记(四)CRUD接口——Mapper CRUD接口_第12张图片
写一下1

服务层查询代码:

  public void select1() {
        System.out.println(baseMapper.selectById(5));
    }

控制层调用代码:

@RequestMapping("/select1")
public void select1() {
    userServiceImpl.select1();
}

开启服务器,访问http://localhost:8080/hk/select1

查询结果如下:
在这里插入图片描述

你可能感兴趣的:(mybatis_plus)