学会了MybatisPlus,代码开发效率提高了10倍( 二 )


(2)BaseMapper 是 MybatisPlus 内置的接口 , 它包含基本的 CRUD 方法 。
7.启动类添加 @MapperScan 注解

学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 
8.测试
@SpringBootTestpublic class MybatisPlusDemoApplicationTests {@Resourceprivate UserMapper userMapper;@Testvoid testMybatisPlus() {for (int i = 18; i < 20; i++) {User user = new User("王小波" + i, i);userMapper.insert(user);}}}
学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 
9.总结
我们发现只要继承 MybatisPlus 的BaseMapper , 就能完成基本的增删改查操作 , 非常方便 。
学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 
4. 基本增删改查1.新增
User user = new User("王小波", 19);userMapper.insert(user);复制代码2.编辑
根据 id 更新数据
int rows = userMapper.updateById(user);if(rows>0){System.out.println("更新成功"); }复制代码3.删除
根据主键删除信息
userMapper.deleteById("152635612");复制代码根据 map 条件删除信息
Map<String, Object> param = new HashMap<>();param.put("age", 18);int rows = userMapper.deleteByMap(param);if (rows > 0) {System.out.println("删除成功!");}复制代码根据 id 集合批量删除
List<Integer> ids = Stream.of(110, 112, 113, 115).collect(Collectors.toList());int rows = userMapper.deleteBatchIds(ids);if (rows > 0) {System.out.println("删除成功!");}复制代码4.查询
根据 id 查询
User user = userMapper.selectById(152382374);复制代码根据 map 条件查询
Map<String, Object> param = new HashMap<>();param.put("age", 18);List<User> userList = userMapper.selectByMap(param);复制代码根据 id 集合批量查询
List<Integer> ids = Stream.of(110, 112, 113, 115).collect(Collectors.toList());List<User> userList = userMapper.selectBatchIds(ids);复制代码5. 构造器
MybatisPlus 提供了查询构造器和更新构造器用来生成带有 where 条件的 sql 语句 。
(1)封装查询条件的构造器:
QueryWrapper复制代码常用查询条件:
等于:eq
QueryWrapper<User> userWrapper = new QueryWrapper<>();// 查询名字是张三的用户userWrapper.eq("name","张三");List<User> userList = userMapper.selectList(userWrapper);复制代码不等于:ne
QueryWrapper<User> userWrapper = new QueryWrapper<>();userWrapper.ne("name","张三");// 查询名字不是张三的用户List<User> userList = userMapper.selectList(userWrapper);复制代码模糊查询:like
QueryWrapper<User> userWrapper = new QueryWrapper<>();// 模糊查询userWrapper.like("name","张");List<User> userList = userMapper.selectList(userWrapper);复制代码降序:orderByDesc
QueryWrapper<User> userWrapper = new QueryWrapper<>();// 模糊查询并根据 number 倒序userWrapper.like("name","张").orderByDesc("number");List<User> userList = userMapper.selectList(userWrapper);复制代码升序:orderByAsc
QueryWrapper<User> userWrapper = new QueryWrapper<>();// 模糊查询并根据 number 降序userWrapper.like("name","张").orderByAsc("number");List<User> userList = userMapper.selectList(userWrapper);复制代码其他常用的条件可以去官网查看相关文档 , 这里不再过多赘述:
https://baomidou.com/pages/10c804/#in复制代码 
学会了MybatisPlus,代码开发效率提高了10倍

文章插图
 
(2)封装更新条件的构造器:
UpdateWrapper复制代码UpdateWrapper 的 where 条件和 QueryWrapper 的一样 , 只不过需要 set 值 。
UpdateWrapper<User> userWrapper = new UpdateWrapper<>();userWrapper.set("name","王小波").set("age",22).eq("name","张三");复制代码6. 通用 ServiceMybatisPlus 中有一个通用的接口 Iservice 和实现类 , 封装了常用的增删改查等操作 。
1.新建 service 和 实现类
UserService
/** * @Desc: * @Author: 公众号:知否技术 * @date: 下午9:57 2022/5/11 */public interface UserService extends IService<User> {}复制代码


推荐阅读