MP学习小结
2020-08-11 14:35
34 查看
mybatis-plus 心得小结
- 学习mybatis-plus,首先我们要明确我们的mybatis的基础是要有的,其次我们学习mybatis-plus(MP)是一个在mybatis框架上只做增强,不做改变的框架,也就是说原先的mybatis所用到技术都得到了保留,我们可以照常使用。就这一点,就让MP备受人们的欢迎。
- MP主要核心就是,它比mybatis多了CURD的封装,这极大地简化开发人员的开发,提高了开发效率。
- 其主要功能有以下几点:
1.BaseMapper集成单表crud功能
假如有一个实体类User,要使用mybatis实现增删改查需要写很多的xml配置文件来实现,但是用mybatis-plus之后直接继承BaseMapper接口即可实现,无需编写任何的xml文件,代码如下:
public interface UserMapper extends BaseMapper<User>{ }//继承之后即可直接使用BaseMapper中的增删改查方法,例如 userMapper.selectById(id); userMapper.deleteById(id); userMapper.updateById(user); userMapper.insert(user);
2.集成分页功能
mybatisplus集成了很好用的分页功能,在执行sql查询的时候,传入一个pagination的对象即可实现自动分页.
- 往容器中加入分页拦截器,设置分页的相关操作
@Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false // paginationInterceptor.setOverflow(false); // 设置最大单页限制数量,默认 500 条,-1 不受限制 // paginationInterceptor.setLimit(500); // 开启 count 的 join 优化,只针对部分 left join paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true)); return paginationInterceptor; }
- 在Mapper层的方法传入page对象就可以进行分页操作
public interface UserMapper {//可以继承或者不继承BaseMapper /** * <p> * 查询 : 根据state状态查询用户列表,分页显示 * </p> * * @param page 分页对象,xml中可以从里面进行取值,传递参数 Page 即自动分页,必须放在第一位(你可以继承Page实现自己的分页对象) * @param state 状态 * @return 分页对象 */ IPage<User> selectPageVo(Page<?> page, Integer state); }
3.条件构造器实现复杂的sql查询
~~~ 这个功能主要用户实现动态的sql拼接,主要用到的对象是EntityWrapper,通过生成一个EntityWrapper对象,然后通过该wrapper对象的方法实现sql的拼接。
~~~ 例如可以wrapper的eq方法实现sql中的=功能,like方法实现sql中的like功能,gt方法实现sql的>的功能
比如:
//修改一个user的名字的值 User user = new User(); user.setName("弟弟"); //修改条件s UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>(); userUpdateWrapper.eq("name", "djh"); int update = mapper.update(user, userUpdateWrapper);
/** * 打印结果 * ==> Preparing: UPDATE user SET name=? WHERE name = ? * ==> Parameters: 弟弟(String), djh(String) * <== Updates: 10 * Closing non transactional SqlSession
- 我们学习一门新技能,不能架空去学习,要多去实践练习才能达到熟能生巧的地步。
- 我们学习一门新技术,最好的的方式就是官网看一下官方文档,这是我们技术入门的最好方式。
相关文章推荐
- C# 静态成员和方法的学习小结
- Ext学习及应用经验小结
- ATL学习小结
- Oracle数据库中的“锁”学习小结
- jQuery学习小结
- python 正则表达式学习小结
- sql注入学习小结
- hadoop的streaming学习小结
- Oracle Spatial 索引学习小结
- linux中tr命令的学习小结
- 软件工程学习小结
- html与css学习小结
- this学习小结
- packet tracer学习小结(ACL NAT)
- java学习笔记 反射reflection相关知识点小结
- iOS学习知识小结
- Lucene学习使用小结(一)
- WCF再学习小结
- iOS学习,数据存储小结
- zedboard--zedboard学习小结