当前位置:首页 > 行业动态 > 正文

springboot集成mybatis步骤

SpringBoot标准集成MyBatis的2种方式是怎样的

在Java开发中,SpringBoot和MyBatis是两个非常流行的框架,它们各自具有强大的功能和特点,将它们集成在一起可以提高开发效率和代码质量,本文将介绍两种常见的SpringBoot标准集成MyBatis的方式,帮助你更好地理解和应用这两种框架。

手动配置MyBatis

1、添加依赖

在使用SpringBoot集成MyBatis之前,需要先在项目的pom.xml文件中添加相应的依赖,以下是一个简单的示例:

<dependencies>
    <!-Spring Boot Starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!-MyBatis Starter -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.4</version>
    </dependency>
    <!-MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

2、配置数据源和SqlSessionFactory

在application.properties或application.yml文件中配置数据源和SqlSessionFactory,以下是一个示例:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  mybatis:
    mapper-locations: classpath*:mapper/*.xml

3、创建Mapper接口和映射文件

在项目中创建一个Mapper接口和对应的映射文件(XML文件),并使用注解或XML标签定义SQL语句和结果映射,以下是一个简单的示例:

// UserMapper.java
@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user WHERE id = {id}")
    User getUserById(Integer id);
}
<!-UserMapper.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="getUserById" resultType="com.example.demo.entity.User">
        SELECT * FROM user WHERE id = {id}
    </select>
</mapper>

4、在Service中使用Mapper接口

在Service类中注入Mapper接口,并调用其方法进行数据库操作,以下是一个简单的示例:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;
    @Override
    public User getUserById(Integer id) {
        return userMapper.getUserById(id);
    }
}
0

随机文章