Spring Boot 整合 MyBatis 入门程序
目录
1. 概述
Spring Boot 是一个用于简化 Spring 应用初始搭建以及开发过程的框架。MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。将 Spring Boot 与 MyBatis 整合,可以大大简化数据库操作的开发工作。
2. 环境准备
在开始之前,确保你已经安装了以下工具:
- JDK 1.8 或更高版本
- Maven 3.2 或更高版本
- 一个 IDE(如 IntelliJ IDEA 或 Eclipse)
- MySQL 或其他数据库
3. 创建 Spring Boot 项目
-
使用 Spring Initializr 创建项目
访问 Spring Initializr,填写项目信息:
- Project: Maven Project
- Language: Java
- Spring Boot: 选择最新版本
- Group: 你的组织ID
- Artifact: 项目名称
- Name: 项目名称
- Description: 项目描述
- Package Name: 包名
- Packaging: Jar
- Java: 8 或更高版本
添加依赖:
- Spring Web
- MyBatis Framework
- MySQL Driver
点击 “Generate” 下载项目压缩包,解压后导入 IDE。
-
配置 Maven 依赖
打开
pom.xml
,确保以下依赖已经添加:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
4. 配置数据库
-
创建数据库和表
在 MySQL 中创建一个数据库和表:
CREATE DATABASE mybatis_demo; USE mybatis_demo; CREATE TABLE user ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) );
-
配置数据源
在
src/main/resources
目录下创建application.properties
文件,添加数据库连接信息:spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=your_password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
5. 创建实体类
在 src/main/java/com/example/demo
目录下创建 entity
包,并在其中创建 User
实体类:
package com.example.demo.entity;
public class User {
private Integer id;
private String name;
private String email;
// Getters and Setters
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
6. 创建 Mapper 接口
在 src/main/java/com/example/demo
目录下创建 mapper
包,并在其中创建 UserMapper
接口:
package com.example.demo.mapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserMapper {
@Insert("INSERT INTO user(name, email) VALUES(#{name}, #{email})")
void insertUser(User user);
@Select("SELECT * FROM user")
List<User> findAllUsers();
}
7. 配置 MyBatis
在 application.properties
中添加 MyBatis 配置:
mybatis.type-aliases-package=com.example.demo.entity
mybatis.mapper-locations=classpath:mapper/*.xml
8. 创建 Service 层
在 src/main/java/com/example/demo
目录下创建 service
包,并在其中创建 UserService
类:
package com.example.demo.service;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void addUser(User user) {
userMapper.insertUser(user);
}
public List<User> getAllUsers() {
return userMapper.findAllUsers();
}
}
9. 创建 Controller 层
在 src/main/java/com/example/demo
目录下创建 controller
包,并在其中创建 UserController
类:
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.*;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@PostMapping
public String addUser(@RequestBody User user) {
userService.addUser(user);
return "User added successfully";
}
@GetMapping
public List<User> getAllUsers() {
return userService.getAllUsers();
}
}
10. 运行项目
在 IDE 中运行 DemoApplication
类,启动 Spring Boot 应用。
11. 测试接口
使用 Postman 或其他工具测试接口:
-
添加用户
POST 请求:
http://localhost:8080/users
请求体:
{ "name": "John Doe", "email": "john.doe@example.com" }
-
获取所有用户
GET 请求:
http://localhost:8080/users
12. 总结
通过以上步骤,我们成功创建了一个简单的 Spring Boot 应用,并整合了 MyBatis 进行数据库操作。这个示例涵盖了从项目创建、依赖配置、数据库连接、实体类创建、Mapper 接口定义、Service 层实现到 Controller 层暴露接口的全过程。希望这个教程能帮助你更好地理解和掌握 Spring Boot 与 MyBatis 的整合。