java中springboot添加mybatis框架流程
时间: 2023-06-24 16:05:50 浏览: 93
添加 MyBatis 框架到 Spring Boot 中的流程如下:
1. 添加依赖
在 `pom.xml` 文件中添加以下依赖:
```xml
<dependencies>
<!-- Spring Boot 相关依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis 相关依赖 -->
<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>
</dependency>
</dependencies>
```
其中,`mybatis-spring-boot-starter` 是 MyBatis 官方提供的在 Spring Boot 中使用 MyBatis 的依赖。
2. 配置数据源
在 `application.properties` 文件中添加以下配置:
```properties
# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
```
其中,`spring.datasource.url`、`spring.datasource.username`、`spring.datasource.password`、`spring.datasource.driver-class-name` 分别是数据库连接的 URL、用户名、密码和驱动类名。
3. 配置 MyBatis
在 `application.properties` 文件中添加以下配置:
```properties
# MyBatis 配置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
```
其中,`mybatis.mapper-locations` 是 MyBatis Mapper 文件的路径,`mybatis.type-aliases-package` 是实体类的包路径。
4. 编写 Mapper
在 `src/main/resources/mapper` 目录下创建一个 `UserMapper.xml` 文件,编写对应的 SQL 语句。
例如:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
<!-- 查询所有用户 -->
<select id="findAll" resultType="com.example.demo.entity.User">
SELECT * FROM user
</select>
</mapper>
```
其中,`namespace` 指定 Mapper 接口的全限定名,`id` 指定 SQL 语句的 ID,`resultType` 指定返回结果的类型。
5. 编写 Mapper 接口
在 `src/main/java/com/example/demo/mapper` 目录下创建一个 `UserMapper.java` 接口,定义对应的方法。
例如:
```java
package com.example.demo.mapper;
import com.example.demo.entity.User;
import java.util.List;
public interface UserMapper {
// 查询所有用户
List<User> findAll();
}
```
其中,方法名与 XML 文件中的 ID 对应,返回值类型与 XML 文件中的 `resultType` 对应。
6. 编写 Service
在 `src/main/java/com/example/demo/service` 目录下创建一个 `UserService.java` 接口和一个 `UserServiceImpl.java` 实现类,定义对应的方法。
例如:
```java
package com.example.demo.service;
import com.example.demo.entity.User;
import java.util.List;
public interface UserService {
// 查询所有用户
List<User> findAll();
}
```
```java
package com.example.demo.service.impl;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAll() {
return userMapper.findAll();
}
}
```
其中,`@Autowired` 注解自动将 `UserMapper` 注入到 `UserServiceImpl` 中。
7. 编写 Controller
在 `src/main/java/com/example/demo/controller` 目录下创建一个 `UserController.java` 类,定义对应的接口。
例如:
```java
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/findAll")
public List<User> findAll() {
return userService.findAll();
}
}
```
其中,`@RestController` 注解表示该类是一个 REST 接口,`@RequestMapping` 注解指定 URL 前缀,`@Autowired` 注解自动将 `UserService` 注入到 `UserController` 中。
8. 启动应用
运行 `DemoApplication.java` 文件,应用启动后,访问 `http://localhost:8080/user/findAll` 即可查看所有用户的信息。
以上就是在 Spring Boot 中添加 MyBatis 框架的流程,希望对你有所帮助。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)