简介
Mybatis-Plus(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
简言之就是对单表的增删改查有了很好的封装。基本不用再单独写sql语句了。目前此类基于mybats的增强工具有很多,但是目前MP可以算是国内最主流的了。而且它的功能也是最全的。
github地址:https://github.com/baomidou/mybatis-plus
gitee地址:https://gitee.com/baomidou/mybatis-plus
MP初体验
这里我们创建一个测试项目MPDemo来初步体验下如何使用MP。省略创建项目步骤和数据库表创建过程。
1.测试表结构【user】
2.springboot三板斧之引入依赖
3.springboot三板斧之添加配置
4.创建user表的实体映射类
5.创建user表的mapper类
6.springboot三板斧之启动类注释
这里通过@MapperScan来指定扫描所有mapper的基础包路径。
其实如果Mapper类中如果有@Mapper注解的话,其实在启动类上是不需要增加@MapperScan的。
7.添加测试类
输出结果:
可能遇到的问题
1.@Autowired标识红色
原因是:**我们通过在启动类添加注释@MapperScan(“com.mayuanfei.mpdemo.dao.mapper”)来扫描所有的mapper类的
但是idea没有发现有具体的注释标识被spring容器所管理,所以这里给出警告。
解决方式有两种:
- 启动类注释不变,把@Autowired修改为@Resource注解。
- 启动类去掉@MapperScan(“com.mayuanfei.mpdemo.dao.mapper”),在UserMaper类上加上@Mapper注解。
2.user表中的id值不符合我们的预期
例子中,我们打印出来的user的id值为:1546670400971255809。本来想着应该是1。这是因为MP默认生成id的算法是通过雪花算法来生成的。如果要按照数据库中的自增来生成id需要在实体类增加一个注解: