Spring Boot 是一个基于 Spring 框架的快速开发框架,它简化了 Spring 应用程序的配置和部署过程。而 MyBatis 是一个优秀的持久层框架,它可以将 SQL 语句和 Java 方法进行映射,方便数据库操作。下面是 Spring Boot 整合 MyBatis 的简要步骤:
pom.xml 中添加 Spring Boot 和 MyBatis 的依赖。- <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>{MyBatis 版本}</version>
- </dependency>
-
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>{MySQL 驱动版本}</version>
- </dependency>
application.properties 或 application.yml 中配置数据库连接信息。- spring.datasource.url=jdbc:mysql://localhost:3306/database_name
- spring.datasource.username=username
- spring.datasource.password=password
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
application.properties 或 application.yml 中配置 MyBatis 相关信息。- mybatis.mapper-locations=classpath*:mapper/*.xml
- mybatis.type-aliases-package=com.example.model
- package com.example.mapper;
-
- import com.example.model.User;
- import org.apache.ibatis.annotations.Mapper;
-
- @Mapper
- public interface UserMapper {
- User getUserById(Long id);
- void insertUser(User user);
- void updateUser(User user);
- void deleteUser(Long id);
- }
mapper 目录,并编写 XML 文件,定义 SQL 语句和方法的映射关系。- <!-- resources/mapper/UserMapper.xml -->
- <mapper namespace="com.example.mapper.UserMapper">
- <select id="getUserById" parameterType="java.lang.Long" resultType="com.example.model.User">
- SELECT * FROM users WHERE id = #{id}
- </select>
-
- <insert id="insertUser" parameterType="com.example.model.User">
- INSERT INTO users (username, email) VALUES (#{username}, #{email})
- </insert>
-
- <update id="updateUser" parameterType="com.example.model.User">
- UPDATE users SET username = #{username}, email = #{email} WHERE id = #{id}
- </update>
-
- <delete id="deleteUser" parameterType="java.lang.Long">
- DELETE FROM users WHERE id = #{id}
- </delete>
- </mapper>
- package com.example.service;
-
- import com.example.mapper.UserMapper;
- import com.example.model.User;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
-
- @Service
- public class UserService {
- @Autowired
- private UserMapper userMapper;
-
- public User getUserById(Long id) {
- return userMapper.getUserById(id);
- }
-
- public void insertUser(User user) {
- userMapper.insertUser(user);
- }
-
- public void updateUser(User user) {
- userMapper.updateUser(user);
- }
-
- public void deleteUser(Long id) {
- userMapper.deleteUser(id);
- }
- }
- package com.example.controller;
-
- import com.example.model.User;
- import com.example.service.UserService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
-
- @RestController
- @RequestMapping("/users")
- public class UserController {
- @Autowired
- private UserService userService;
-
- @GetMapping("/{id}")
- public User getUserById(@PathVariable Long id) {
- return userService.getUserById(id);
- }
-
- @PostMapping
- public void insertUser(@RequestBody User user) {
- userService.insertUser(user);
- }
-
- @PutMapping("/{id}")
- public void updateUser(@PathVariable Long id, @RequestBody User user) {
- user.setId(id);
- userService.updateUser(user);
- }
-
- @DeleteMapping("/{id}")
- public void deleteUser(@PathVariable Long id) {
- userService.deleteUser(id);
- }
- }
通过以上步骤,你就可以实现 Spring Boot 与 MyBatis 的整合,实现数据库操作。