在Spring Boot框架下使用MyBatis访问数据库之基于XML配置的方式

紫色薰衣草 2024-03-27 ⋅ 35 阅读

介绍

在开发Java应用程序时,访问数据库是一个常见的需求。Spring Boot框架提供了简化数据库访问的功能,并且与MyBatis框架的集成非常方便。本文将介绍如何在Spring Boot框架下使用MyBatis访问数据库,采用基于XML配置的方式。

环境配置

在开始之前,确保已经安装了以下软件和工具:

  • JDK 1.8+
  • Maven
  • Spring Boot 2.x
  • MyBatis 3.x

引入依赖

首先,在pom.xml中引入以下依赖:

<dependencies>
  <!-- Spring Boot 依赖 -->
  <!-- ... -->

  <!-- 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>
    <version>${mysql.version}</version>
  </dependency>

</dependencies>

请确保${mybatis.version}${mysql.version}为合适的版本号。

配置数据源

接下来,在application.propertiesapplication.yml中添加数据库配置,例如:

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

替换上面的URL、用户名和密码为正确的数据库连接信息。

编写MyBatis配置文件

在Spring Boot框架中,可以使用@MapperScan注解来自动扫描Mapper接口。创建一个名为MyBatisConfig的Java类,并添加@Configuration@MapperScan注解,示例如下:

@Configuration
@MapperScan("com.example.mapper")
public class MyBatisConfig {
}

以上示例将会扫描com.example.mapper包下的所有Mapper接口。

编写Mapper接口和SQL语句

接下来,创建一个Mapper接口。在Spring Boot框架中,可以使用@Mapper注解来标记Mapper接口。例如,创建一个名为UserMapper的接口,示例代码如下:

@Mapper
public interface UserMapper {
  List<User> findAll();
  User findById(int id);
  void save(User user);
  void update(User user);
  void delete(int id);
}

可以根据实际需求来定义自己的Mapper接口和对应的SQL语句。

编写SQL映射文件

为了和Mapper接口进行绑定,需要编写一个对应的XML文件来定义SQL语句。创建一个名为UserMapper.xml的文件,并将其放置在resources目录下。例如,创建一个查询所有用户的SQL语句:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.example.mapper.UserMapper">
  
  <select id="findAll" resultType="com.example.model.User">
    SELECT * FROM user
  </select>

</mapper>

你可以根据实际需求来编写SQL语句和SQL映射文件。

调用Mapper方法

最后,可以在Service层或者Controller层中调用Mapper方法来访问数据库。例如,在一个名为UserService的类中注入UserMapper,然后调用其方法:

@Service
public class UserService {

  @Autowired
  private UserMapper userMapper;

  public List<User> getAllUsers() {
    return userMapper.findAll();
  }

  // 其他方法...
}

在Controller层中,你可以使用@RequestMapping注解来映射HTTP请求,并调用UserService中的方法:

@RestController
@RequestMapping("/users")
public class UserController {

  @Autowired
  private UserService userService;

  @GetMapping
  public List<User> getAllUsers() {
    return userService.getAllUsers();
  }

  // 其他方法...
}

至此,你已经成功配置了基于XML的MyBatis框架,并且可以使用Spring Boot框架访问数据库了。

总结

在本文中,我们介绍了如何在Spring Boot框架下使用基于XML配置的MyBatis访问数据库。首先,我们引入了相关依赖,并配置了数据源。然后,我们创建了Mapper接口和SQL映射文件,将其通过@MapperScan注解和@Mapper注解与Spring Boot框架进行绑定。最后,我们在Service或者Controller中调用Mapper方法来实现对数据库的访问。

希望本文能够帮助你理解和使用Spring Boot框架下的MyBatis,进一步提升开发效率。如果你有任何问题或者建议,请在下方留言,我会尽力帮助你!


全部评论: 0

    我有话说: