在 Spring Boot 中使用 MyBatis,你需要先配置好相关依赖和配置文件,然后才能编写映射文件。以下是一个简单的步骤来创建一个 MyBatis 映射文件:
在你的 pom.xml
文件中添加 MyBatis 和 MyBatis-Spring-Boot-Starter 依赖:
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
在 application.properties
或 application.yml
文件中添加 MyBatis 配置:
# application.properties
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
或者
# application.yml
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.example.demo.entity
根据你的数据库表结构,创建一个实体类。例如,如果你有一个名为 user
的表:
package com.example.demo.entity;
public class User {
private Long id;
private String name;
private Integer age;
// Getters and setters
}
在 resources/mapper
目录下创建一个名为 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">
<resultMap id="UserResultMap" type="com.example.demo.entity.User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
</resultMap>
<select id="findAll" resultMap="UserResultMap">
SELECT * FROM user
</select>
<insert id="insert" parameterType="com.example.demo.entity.User">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
<update id="update" parameterType="com.example.demo.entity.User">
UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
</update>
<delete id="delete" parameterType="long">
DELETE FROM user WHERE id=#{id}
</delete>
</mapper>
在 com.example.demo.mapper
包下创建一个名为 UserMapper.java
的接口:
package com.example.demo.mapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
List<User> findAll();
int insert(User user);
int update(User user);
int delete(Long id);
}
现在你已经完成了 MyBatis 映射文件的编写。你可以在你的服务类中使用 UserMapper
接口来进行数据库操作。