下面是在Spring Boot框架下使用MyBatis的示例,包括如何配置、定义Mapper接口和XML映射文件、使用MyBatis进行数据库操作等。
- 添加MyBatis和数据库驱动的依赖到pom.xml文件中。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 添加MyBatis和数据库驱动的依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
</dependencies>
- 配置MyBatis。
在application.properties文件中添加MyBatis的配置项,包括数据库连接信息、MyBatis全局配置和Mapper映射文件路径等。
# 数据库连接信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
# MyBatis全局配置
mybatis.configuration.cache-enabled=true
mybatis.configuration.log-impl=STDOUT_LOGGING
# Mapper映射文件路径
mybatis.mapper-locations=classpath:mapper/*.xml
- 定义Mapper接口和XML映射文件。
定义Mapper接口和XML映射文件,其中包括数据库操作的SQL语句和映射关系。
@Mapper
public interface UserMapper {
// 查询用户
@Select("SELECT * FROM user WHERE id = #{id}")
User getUserById(int id);
// 新增用户
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
int insertUser(User user);
// 更新用户
@Update("UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}")
int updateUser(User user);
// 删除用户
@Delete("DELETE FROM user WHERE id = #{id}")
int deleteUser(int id);
}
<?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.mapper.UserMapper">
<!-- 定义查询SQL语句 -->
<select id="getUserById" parameterType="int" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
<!-- 定义插入SQL语句 -->
<insert id="insertUser" parameterType="com.example.entity.User">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
<!-- 定义更新SQL语句 -->
<update id="updateUser" parameterType="com.example.entity.User">
UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
</update>
<!-- 定义删除SQL语句 -->
<delete id="deleteUser" parameterType="int">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
- 使用MyBatis进行数据库操作。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(int id) {
return userMapper.getUserById(id);
}
public int insertUser(User user) {
return userMapper.insertUser(user);
}
public int updateUser(User user) {
return userMapper.updateUser(user);
}
public int deleteUser(int id) {
return userMapper.deleteUser(id);
}
}
以上是在Spring Boot框架下使用MyBatis的简单示例,实际使用时还需要根据具体业务需求进行更加复杂的操作。详细的MyBatis使用说明可以参考官方文档:MyBatis 3 Official Documentation。