目录
一、插入数据
save方法
二、删除操作
removeById方法
三、更新操作
updateById方法
四、查询操作
selectById方法
五、条件构造器QueryWrapper的更多用法
1.比较操作符
2.逻辑操作符
3.模糊查询
4.空值判断
一、插入数据
save方法
save(T entity):向数据库中插入一条记录。
代码示例:
Student student = new Student();
student.setName("张三");
student.setAge(30);
studentMapper.save(student);
配合QueryWrapper查询后插入(先查询是否存在再插入):
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();queryWrapper.eq("name", "张三");Student existingStudent = studentMapper.selectOne(queryWrapper);if (existingStudent == null) {Student student = new Student();student.setName("张三");student.setAge(30);studentMapper.save(student);}
二、删除操作
removeById方法
根据主键ID删除一条记录。
studentMapper.removeById(1L);
remove方法配合QueryWrapper:根据自定义条件删除记录。
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 30);
studentMapper.remove(queryWrapper);
三、更新操作
updateById方法
根据主键 ID 更新一条记录。
Student student = new Student();
student.setId(1L);
student.setAge(30);
studentMapper.updateById(student);
update方法配合QueryWrapper(批量更新):根据自定义条件更新符合条件的记录。
Student student = new Student();
student.setAge(30);
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "张三");
studentMapper.update(student, queryWrapper);
四、查询操作
selectById方法
根据主键 ID 查询一条记录。
Student student = studentMapper.selectById(1L);
selectOne方法配合QueryWrapper查询单条记录
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三");
Student student = studentMapper.selectOne(queryWrapper);
selectList方法配合QueryWrapper查询多条记录
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.lt("age", 30);
List<Student> studentList = studentMapper.selectList(queryWrapper);
selectPage方法配合QueryWrapper进行分页查询
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.isNotNull("age");
Page<Student> page = new Page<>(1, 10);
IPage<Student> studentIPage = studentMapper.selectPage(page, queryWrapper);
ListStudent> studentList = studentIPage.getRecords();
long total = studentIPage.getTotal();
五、条件构造器QueryWrapper的更多用法
1.比较操作符
eq:等于。
ne:不等于。
gt:大于。
ge:大于等于。
lt:小于。
le:小于等于。
2.逻辑操作符
and:连接多个条件(默认是and连接)。
or:用于or连接条件。
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三").or().eq("name", "李四");
List<Student> studentList = studentMapper.selectList(queryWrapper);
3.模糊查询
like:左右模糊查询。
notLike:左右不模糊查询。
likeLeft:左模糊查询。
likeRight:右模糊查询。
4.空值判断
isNull:判断字段为null。
isNotNull:判断字段不为null。
getone与last("limit 1")结合用