springboot项目整合mybatis
记录创建springboot项目并配置mybatis中间件:
资源准备及版本说明
编程工具:IDEA
JDK版本:1.8
Maven版本:Apache Maven 3.6.3
springboot版本:2.4.4
mybatis版本:1.3.2
mysql版本:5.1.48
创建mavem项目
通过IDEA
创建很便捷,参考《IDEA创建SpirngBoot项目》。
配置pom.xml
使用mybatis需要添加依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
完整pom.xml
配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.example</groupId>
<artifactId>springboot-mybatis</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<mybatis.version>1.3.2</mybatis.version>
<mysql.version>5.1.48</mysql.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
配置application.yml
配置mybatis
主要配置数据表映射实体类路径type-aliases-package
和数据表映射配置文件路径mapper-locations
完整application.yml
配置如下:
创建项目启动文件
在Application启动文件配置扫描持久化层的路径的注解@MapperScan
代码结构
以user
表为例子,创建controller
目录、dao
目录、service
目录、model
目录以及在resources
目录下创建mapper
目录用来保存映射xml
文件。
完整代码结构如下:
映射实体类User:
持久层UserDao:
注意添加@Repository
注解
业务层UserService:
创建根据ID查询记录的接口getById(Long id);
业务层接口实现类UserServiceImpl:
注意添加@Service注解,引入
UserDao,实现根据
ID`查询记录
控制层UserController:
注入业务层接口,增加测试查询方法getUserById()
;
映射mapper文件:
其中namespace
对应持久化层dao
的路径,resultMap
为数据表字段与实体映射类属性的关联,type
为实体映射类的路径,select
查询配置中resultType
为查询结果的对象类型路径。
启动项目
启动项目并访问http://localhost:8866/test
测试配置情况
application.xml
配置文件中增加日志输出sql
语句的配置:
重启项目后再次测试接口:
springboot
默认使用HikariPool
数据库连接池。