1.插入(insert)
BaseMapper:
测试代码:
@Test public void testInsert() { Employee employee = new Employee(); employee.setLastName("张三"); employee.setEmail("1256957450@qq.com"); employee.setAge(18); employee.setGender(1); //返回影响行数 int i = employeeMapper.insert(employee); System.out.println("数据库影响行数:" + i); }
观察控制台的SQL语句
自动拼装上设置的实体类属性
2.查询(select)
1.selectById:根据 ID 查询
测试代码:
@Test public void testSelect() { //1.通过id查询 Employee employee = employeeMapper.selectById(5); System.out.println(employee); }
控制台打印的SQL语句
查询结果:
2.selectOne:根据实体类的条件,查询一条记录
测试代码:
@Test public void testSelect() { Employee employee = new Employee(); employee.setId(5); employee.setLastName("李四"); Employee employee1 = employeeMapper.selectOne(new QueryWrapper<Employee>(employee)); System.out.println(employee1); }
控制台打印的SQL语句
查询结果:
注意:selectOne传入的查询条件要确保是查询结果唯一的,否则会出异常
例如:查询年龄为18的数据
说selectOne的返回结果为一或者为null,但是这里找到了11个结果
3.selectList
测试代码:查询所有姓名为张三的数据
@Test public void testSelect() { Employee employee = new Employee(); employee.setLastName("张三"); List<Employee> employees = employeeMapper.selectList(new QueryWrapper<Employee>(employee)); for (Employee employee1 : employees) { System.out.println(employee1); } }
控制台打印的SQL语句
查询结果:
4.selectByMap
测试代码:
@Test public void testSelect() { Map<String, Object> columnMap = new HashMap<>(); columnMap.put("last_name", "张三"); List<Employee> employees = employeeMapper.selectByMap(columnMap); for (Employee employee : employees) { System.out.println(employee); } }
控制台打印的SQL语句
查询结果:
注意:selectByMap方法传入的map的key对应的是数据表的列名,而不是实体类的属性名
5.selectBatchIds
测试代码:
@Test public void testSelect() { List<Integer> idList = new ArrayList<>(); idList.add(1); idList.add(2); idList.add(3); idList.add(4); List<Employee> employees = employeeMapper.selectBatchIds(idList); for (Employee employee : employees) { System.out.println(employee); } }
控制台打印的SQL语句
查询结果:
3.更新(update)
1.updateById
测试代码:
@Test public void testUpdate() { Employee employee = new Employee(); employee.setId(5); employee.setLastName("李四"); int i = employeeMapper.updateById(employee); System.out.println(i); }
控制台打印的SQL语句
更新结果:
2.update
4.删除(delete)
1.deleteById
测试代码:
@Test public void testDelete() { int i = employeeMapper.deleteById(15); System.out.println(i); }
2.deleteBatchIds(根据id批量删除)
测试代码:
@Test public void testDelete() { List<Integer> idList = new ArrayList<>(); idList.add(14); idList.add(13); idList.add(12); idList.add(11); int i = employeeMapper.deleteBatchIds(idList); System.out.println("删除数据条数:" + i); }
控制台打印的SQL语句