在Java中,我比较ORM熟悉的只有Hibernate和Mybatis,其他的并未实践使用过,在这二者之间我更喜欢Mybatis,因为它精简、灵活(毕竟我是上年纪的程序员,喜欢自己写SQL)。
刚才有提到Mybatis,但是这里的重点是介绍Mybatis-Plus,它是Mybatis的增强版,如果要了解Mybatis的细节的话请点击这里。
简介
据MyBatis-Plus官网介绍,MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这看上去挺香的,所以必须得尝尝。
这里涉及到的环境、组件如下:
- MariaDB 10.3.10
- Windows 10
- IntelliJ IDEA 2019.3.1
- 64 bit JDK 1.8.0_231
- Spring Boot 2.2.3.RELEASE
- Lombok 1.18.10
- Knife4j 2.0.1
- Mybatis-plus 3.3.0
- Druid
Spring Boot 整合Mybatis-Plus
我之前一直是直接用的Mybatis,但是作为喜欢偷懒的人,当然得想办法来提高我们的效率,所以就想着用Mybatis-Plus来省去一些单表的CRUD操作再结合MyBatis-Plus配套的AutoGenerator代码生成器,就能为我们节省不少时间。
引入依赖包
首先,我们得引入Mybatis-Plus和mariadb-java-client等几个包:
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.5.3</version>
</dependency>
在application.yml配置我们的数据库连接信息
spring:
datasource:
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/nacos_config?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
username: root
password: root
minimum-idle: 5
maximum-pool-size: 50
auto-commit: true
idle-timeout: 30000
max-lifetime: 1800000
connection-timeout: 30000
connection-test-query: SELECT 1
这里我新建一个名为User的实体,具体属性如下:
@Data
@Builder
@TableName("users")
public class User {
private String username;
private String password;
private int enabled;
}
新建一个UserMapper接口:
public interface UserMapper extends BaseMapper<User> {
}
在