SpringBoot-Mybatis整合

开发者故事集 2024-05-16 ⋅ 39 阅读

简介

SpringBoot和Mybatis是两个非常常用的Java开源框架,分别用于快速构建Java应用和管理数据库访问。本文将介绍如何使用SpringBoot和Mybatis进行整合,搭建一个简单的Java应用。

步骤一:创建SpringBoot项目

首先,我们需要创建一个新的SpringBoot项目。可以使用Spring Initializr来快速生成一个基础的项目结构。在pom.xml文件中添加所需的依赖项,包括SpringBoot和Mybatis。

<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.1.4</version>
    </dependency>
    
    <!-- 添加所需的数据库驱动程序依赖 -->
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>

步骤二:配置数据源和Mybatis

在application.properties文件中添加数据库连接信息和Mybatis配置。

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver

# Mybatis配置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.model

步骤三:创建实体类和Mapper接口

在com.example.demo.model包中创建一个简单的实体类,并在com.example.demo.mapper包中创建相应的Mapper接口。

// User.java
@Data
public class User {
    private Long id;
    private String name;
    private String email;
}

// UserMapper.java
@Mapper
public interface UserMapper {
    List<User> getAllUsers();
    User getUserById(Long id);
    void insertUser(User user);
    void updateUser(User user);
    void deleteUser(Long id);
}

步骤四:创建Mapper的XML文件

在resources/mapper目录下创建UserMapper.xml文件,用于定义SQL语句和结果映射。

<!-- UserMapper.xml -->
<mapper namespace="com.example.demo.mapper.UserMapper">
    <resultMap id="BaseResultMap" type="com.example.demo.model.User">
        <id column="id" property="id" />
        <result column="name" property="name" />
        <result column="email" property="email" />
    </resultMap>
    
    <select id="getAllUsers" resultMap="BaseResultMap">
        SELECT * FROM user
    </select>
    
    <select id="getUserById" parameterType="Long" resultMap="BaseResultMap">
        SELECT * FROM user WHERE id = #{id}
    </select>
    
    <insert id="insertUser" parameterType="com.example.demo.model.User">
        INSERT INTO user (name, email) VALUES (#{name}, #{email})
    </insert>
    
    <update id="updateUser" parameterType="com.example.demo.model.User">
        UPDATE user SET name = #{name}, email = #{email} WHERE id = #{id}
    </update>
    
    <delete id="deleteUser" parameterType="Long">
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>

步骤五:创建Controller类

最后,创建一个简单的Controller类来处理HTTP请求。

@RestController
public class UserController {
    @Autowired
    private UserMapper userMapper;
    
    @GetMapping("/users")
    public List<User> getAllUsers() {
        return userMapper.getAllUsers();
    }
    
    @PostMapping("/users")
    public void addUser(@RequestBody User user) {
        userMapper.insertUser(user);
    }
    
    @PutMapping("/users/{id}")
    public void updateUser(@PathVariable Long id, @RequestBody User user) {
        user.setId(id);
        userMapper.updateUser(user);
    }
    
    @DeleteMapping("/users/{id}")
    public void deleteUser(@PathVariable Long id) {
        userMapper.deleteUser(id);
    }
}

步骤六:运行应用

运行SpringBoot应用,并访问相应的URL来测试数据库操作接口。

结论

本文介绍了如何使用SpringBoot和Mybatis进行整合,搭建了一个简单的Java应用。通过配置数据源和Mybatis,创建实体类、Mapper接口和XML文件,以及编写Controller类,我们可以轻松地进行数据库访问操作。希望本文对您有所帮助,谢谢阅读!


全部评论: 0

    我有话说: