什么是MyBatis-Plus
在java中访问数据库,使用jdbc。
1、在项目中直接使用jdbc,访问数据库。
2、把jdbc的操作进行封装,创建了很多工具类,像是BUti1.
3、持久层框架。
1)hibernate(全自动ORM框架)实现java object–表 的映射,可以通过java对象的方法,操作表中的数据,开发人员可以不了解或少了解sql语言。可以使用hibernate访问不同的数据库而不需要改变代码。通用不同的数据库。底层比较复杂,调优也很复杂。
2)jpa规范,定义了访问数据库的各种操作,定义了一致的方法操作数据库。jpa有各种实现,其中hibernate就是一个实现,还有open-jpa,link.
3)mybatis,使用时需要编写xml配置文件,在xml中编写sql语句,访问数据库,任何的操作需要使用xml文件,同时对开发人员要求比较高,需要熟悉sql语言,开发难度高。但是数据库调优方便。单表的CRUD也需要编写xml文件去编写sql语句。
4)mybatis-plus,简称mp,是对mybatis的增强,在mybatis之外加入了一层,通过mp可以实现单表的CRUD,不使用xml文件。包括分页,性能统计,逻辑删除等都有通用的实现。
mp是mybatis的增强工具,在mybatis基础上只做增强不做改变,单表CURD的操作几乎都可以由mp代替执行,而且提供了各种查询方式,分页行为。作为使用者无需编写xml直接调用mp提供的API即可。
添加mp依赖:
<dependency>
<groupId>com.baomidu</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
使用MP的步骤:
1、新建的spring boot 工程。
2、指定maven的mp坐标
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
3、创建实体类,定义属性,指定主键类型。
4、创建Dao接口,需要继承BaseMapper
5、在springboot的启动类上,加入@MapperScan
6、测试使用:
在测试类或Service注入Dao接口,框架实现动态代理创建Dao的实现类对象。
调用BaseMapper中的方法,完成CRUD
ActiveRecord(AR)
每一个数据库表对应创建一共类,类的每一个对象实例对应于数据库中表的一行记录,通常表的每个字段在类中都有相应的Field
ActiveRecord负责把自己持久化,在ActiveRecord中封装了对数据库的访问,通过对象自己实现CRUD,实现优雅的数据库操作。
ActiveRecord叶封装了部分业务逻辑,可以作为业务对象使用。