温馨提示×

MyBatis和JdbcTemplate在Spring Boot中的集成

小樊
85
2024-08-26 15:14:30
栏目: 编程语言

Spring Boot中集成MyBatis和JdbcTemplate可以通过配置文件和依赖注入来实现。以下是一个简单的示例:

首先,在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

然后,在application.properties文件中配置数据库连接信息:

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

接着,创建一个MyBatis的Mapper和对应的XML文件:

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM users")
    List<User> getAllUsers();
}
<?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="getAllUsers" resultType="com.example.demo.model.User">
        SELECT * FROM users
    </select>
</mapper>

然后,可以在Service中注入UserMapper并调用方法来操作数据库:

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

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

另外,如果要使用JdbcTemplate,可以直接注入JdbcTemplate并使用它来执行SQL语句:

@Autowired
private JdbcTemplate jdbcTemplate;

public List<Map<String, Object>> getAllUsers() {
    return jdbcTemplate.queryForList("SELECT * FROM users");
}

这样就可以在Spring Boot应用中集成MyBatis和JdbcTemplate来操作数据库了。需要注意的是,为了让Spring Boot能够扫描到MyBatis的Mapper接口,需要在启动类上加上@MapperScan("com.example.demo.mapper")注解。

0