MyBatis-Plus
条件构造器QueryWrapper
这里我直说我个人的用法
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
//模糊匹配就是直接 跟字段
querywrapper.like(column,value);
//如果比较简单的情况下 字段比较简短
queryWrapper.ge("age",10); //年龄大于等于
//排序
queryWrapper.orderByAsc("id","name");
//分页
Page<User> page = new Page<>(pageNum,pageSize);
userMapper.selectPage(page,queryWrapper);
//相当于
select __ from table_name where __ order by___
//没有设置的情况下默认查询的是所有的字段
//如果想要查询指定字段
queryWrapper.select("id","name");//查询指定字段
LambdaQueryWrapper
作用和上面一样只是编码风格不一样
LambdaQueryWrapper <User> queryWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper <User> queryWrapper = new LambdaQuerryWrapper<>();
queryWrapper.select(User::getId,User::getName); //查询字段
//动态的写法
queryWrapper.like(name != null,User::getName,"黑马");
//如果条件不满足就不会查询like 实际上其他情况也是可以有条件的
UpdateWrapper
update table_name set __ where __
//条件构造器
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.gt("age",10);//添加where条件,根据age对于指定的值查询
或者你这么写
UpdateWrapper<User> wrapper =new UpdateWrapper<>();
wrapper.set("name","小智");
wrapper.ge("age",10);
// Update t_user SET name = ? where (age > ?)
实际上都可以链式编程
你还可以使用原始的mybatis注解来开发,或者xml中书写代码
简单的你就用mp 复杂的你就用xml
public interface UserMapper extends BaseMapper<User> {
@select("select * from t_user where tel = #{tel}")
User findeById(String tel);
}
扩张功能:
1.逻辑删除
@TableLogic
2.Mp对Service层的支持
Mp框架除了可以简化持久层代码开发,还为Service层提供了业务接口和实现类,可以简化Service层开发
使用方式:
- 业务接口继承MP提供的IService接口
- 业务实现类继承MP提供的ServiceImpl类