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

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

在这里插入图片描述
原数据库数据:

在这里插入图片描述

服务层插入代码:

@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("2284612137@qq.com");

        baseMapper.insert(user);
    }
}

控制层调用代码:

    @Autowired
    UserServiceImpl userServiceImpl;

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

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

数据库数据如下:

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述


二、测试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);

在这里插入图片描述
原数据库数据:

在这里插入图片描述

说一下3

服务层删除代码:

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

控制层调用代码:

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

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

数据库表数据如下所示:

在这里插入图片描述


三、测试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);

在这里插入图片描述

原数据库数据如下:

在这里插入图片描述
服务层更新代码:

public void  update1() {
    User user = new User();
    user.setId(5L);
    user.setAge(25);
    user.setName("hk444444");
    user.setEmail("2284612137@qq.com");
    baseMapper.updateById(user);
}

控制层调用代码:

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

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

数据库表数据如下:

在这里插入图片描述

四、测试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);

在这里插入图片描述
数据库表数据如下:

在这里插入图片描述
写一下1

服务层查询代码:

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

控制层调用代码:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值