1、在使用Spring整合ORM组件的过程中,为了达到简化的目的,往往会进行大量的配置。利用SpringBoot可以进一步实现配置的简化。SpringBoot整合MyBatis开发框架,MyBatis是一款常用并且配置极为简单的ORM开发框架。其与Spring结合后,可以利用Spring的特征实现DAO接口的自动配置。在SpringBoot中,又对MyBatis框架的整合进行了进一步简化。
修改pom.xml配置文件,在项目中引入mybatis-spring-boot- starter依赖支持库,切记也需要数据库链接池的支持的哦。
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
5 https://maven.apache.org/xsd/maven-4.0.0.xsd">
6
7 <modelVersion>4.0.0</modelVersion>
8 <parent>
9 <!-- spring-boot-starter-parent就是官方给出的快速构建SpringBoot项目的公共父pom.xml配置文件支持。 -->
10 <groupId>org.springframework.boot</groupId>
11 <artifactId>spring-boot-starter-parent</artifactId>
12 <version>2.3.4.RELEASE</version>
13 <relativePath /> <!-- lookup parent from repository -->
14 </parent>
15
16 <groupId>com.bie</groupId>
17 <artifactId>springboot-01</artifactId>
18 <version>0.0.1-SNAPSHOT</version>
19 <name>springboot-01</name>
20 <description>Demo project for Spring Boot</description>
21
22 <properties>
23 <java.version>1.8</java.version>
24 <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
25 </properties>
26
27 <dependencies>
28 <dependency>
29 <groupId>org.springframework.boot</groupId>
30 <artifactId>spring-boot-starter-web</artifactId>
31 </dependency>
32
33 <dependency>
34 <groupId>org.springframework.boot</groupId>
35 <artifactId>spring-boot-starter-test</artifactId>
36 <scope>test</scope>
37 <exclusions>
38 <exclusion>
39 <groupId>org.junit.vintage</groupId>
40 <artifactId>junit-vintage-engine</artifactId>
41 </exclusion>
42 </exclusions>
43 </dependency>
44 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
45 <dependency>
46 <groupId>mysql</groupId>
47 <artifactId>mysql-connector-java</artifactId>
48 <!-- <version>5.1.12</version> -->
49 </dependency>
50 <dependency>
51 <groupId>org.springframework.boot</groupId>
52 <artifactId>spring-boot-configuration-processor</artifactId>
53 <optional>true</optional>
54 </dependency>
55
56 <!-- 引入 Druid 数据源依赖:https://mvnrepository.com/artifact/com.alibaba/druid -->
57 <dependency>
58 <groupId>com.alibaba</groupId>
59 <artifactId>druid</artifactId>
60 <version>1.1.9</version>
61 </dependency>
62 <!-- 导入MyBatis的ORM开发包。 -->
63 <dependency>
64 <groupId>org.mybatis.spring.boot</groupId>
65 <artifactId>mybatis-spring-boot-starter</artifactId>
66 <version>1.3.1</version>
67 </dependency>
68 <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
69 <dependency>
70 <groupId>org.mybatis</groupId>
71 <artifactId>mybatis</artifactId>
72 <version>3.4.6</version>
73 </dependency>
74 <!-- mybatis的启动器 -->
75 <dependency>
76 <groupId>org.mybatis.spring.boot</groupId>
77 <artifactId>mybatis-spring-boot-starter</artifactId>
78 <version>2.1.1</version>
79 </dependency>
80 <dependency>
81 <groupId>org.springframework.boot</groupId>
82 <artifactId>spring-boot-starter-jdbc</artifactId>
83 </dependency>
84 </dependencies>
85
86 <build>
87 <plugins>
88 <plugin>
89 <groupId>org.springframework.boot</groupId>
90 <artifactId>spring-boot-maven-plugin</artifactId>
91 </plugin>
92 </plugins>
93 </build>
94
95 </project>
数据表结构,如下所示:
注意:如果数据表字段两个英文单词之间是下划线连接的,但是你的实体类是驼峰命名法,此时就需要进行配置,数据库字段是你下划线分隔,但是bean中的字段是驼峰命名的,如user_name和userName,导致无法匹配。如果是通过xml文件来配置的话,只需要开启驼峰命名转换,setting name="mapUnderscoreToCamelCase" value="true"/>,在/src/main/resources/mybatis/mybatis.cfg.xml里面配置即可。
1 /*
2 Navicat Premium Data Transfer
3
4 Source Server : localhost
5 Source Server Type : MySQL
6 Source Server Version : 50724
7 Source Host : localhost:3306
8 Source Schema : biehl
9
10 Target Server Type : MySQL
11 Target Server Version : 50724
12 File Encoding : 65001
13
14 Date: 15/11/2020 13:34:52
15 */
16
17 SET NAMES utf8mb4;
18 SET FOREIGN_KEY_CHECKS &#