删除最后来看看删除操作:
@Autowiredprivate EmployeeMapper employeeMapper;@Testvoid contextLoads() { employeeMapper.deleteById(10);}

文章插图
根据id删除员工信息 。然后是deleteByMap方法:
@Autowiredprivate EmployeeMapper employeeMapper;@Testvoid contextLoads() { Map<String,Object> map = new HashMap<>(); map.put("last_name","aaa"); employeeMapper.deleteByMap(map);}
文章插图
该方法通过Map集合封装的条件进行删除,Map中的键也为数据表的列名 。deleteBatchIds方法:
@Autowiredprivate EmployeeMapper employeeMapper;@Testvoid contextLoads() { employeeMapper.deleteBatchIds(Arrays.asList(1,2,3));}
文章插图
该方法是批量删除方法,会删除集合中的所有id对应的员工信息 。
条件构造器刚才我们体验了MyBatisPlus的增删改查操作,不过这都是一些最基本的操作方法,对于查询,MyBatis提供了一个条件构造器——QueryWrapper,使用它能够自由构建查询条件,简单便捷,能够极大提升开发效率 。
现在有一个需求,查询年龄在10~30岁之间的员工信息,并分页显示:
@Testvoid contextLoads() { QueryWrapper<Employee> wrapper = new QueryWrapper<>(); wrapper.between("age", 10, 30); Page<Employee> page = employeeMapper.selectPage(new Page<>(1, 2), wrapper); List<Employee> emps = page.getRecords(); for (Employee emp : emps) { System.out.println(emp); }}
文章插图
首先构造QueryWrapper对象,通过between拼接sql,注意其中的参数必须是表字段名,然后通过selectPage方法进行分页查询,分页规则为 new Page<>(1,2) ,即:按每页两行数据进行分页,显示第一页,最后从Page对象中取出数据即可,不要忘记注册一下分页拦截器:
@Configurationpublic class MyBatisConfig { @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); }}
文章插图
执行结果:
==> Preparing: SELECT COUNT(1) FROM tbl_employee WHERE (age BETWEEN ? AND ?) ==> Parameters: 10(Integer), 30(Integer)<== Columns: COUNT(1)<== Row: 5==> Preparing: SELECT id,last_name,email,gender,age FROM tbl_employee WHERE (age BETWEEN ? AND ?) LIMIT ?,? ==> Parameters: 10(Integer), 30(Integer), 0(Long), 2(Long)<== Columns: id, last_name, email, gender, age<== Row: 1, tom, tom@qq.com, 1, 20<== Row: 2, jack, jack@qq.com, 1, 21<== Total: 2Employee(id=1, lastName=tom, email=tom@qq.com, gender=1, age=20, salary=null)Employee(id=2, lastName=jack, email=jack@qq.com, gender=1, age=21, salary=null)
文章插图
若是想要查询年龄在10~30岁且性别为男的员工信息,该怎么实现呢?
@Testvoid contextLoads() { QueryWrapper<Employee> wrapper = new QueryWrapper<Employee>() .between("age", 10, 30) .eq("gender",1); Page<Employee> page = employeeMapper.selectPage(new Page<>(1, 2), wrapper); List<Employee> emps = page.getRecords(); for (Employee emp : emps) { System.out.println(emp); }}
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 金丝玫瑰茶烟,茶烟怎么样好吸么
- 红菊花茶,菊花茶的作用有哪些
- Java并发工具类的简单使用
- vscode 前端常用插件推荐
- 一些不好记却很好用的 CSS 属性
- Redis在用户注册登录的妙用
- 诸葛亮用了多少艘船,草船借箭是周瑜还是诸葛亮
- 通用的底层埋点都是怎么做的?
- 免费供苗种植回收,投资成本(不含土地承包费用
- 坝上金莲花颗粒副作用,金莲花的副作用
