Spring Boot Mapper 无需编写 SQL 语句轻松操作数据库 - 实战指南
Spring Boot Mapper 是基于 Mybatis 框架的一种操作数据库的方式,它可以通过注解和 XML 文件来进行数据库操作,无需手写 SQL 语句,大大提高了开发效率。下面是一个简单的示例,展示如何使用 Mapper 进行数据库操作。
首先,需要在 Spring Boot 项目中引入 Mybatis 和 Mybatis-Spring 依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
接着,创建一个实体类 User:
public class User {
private Long id;
private String username;
private String password;
// getter 和 setter 方法省略
}
然后,在 resources 目录下创建一个 mapper 目录,用于存放 XML 文件和 Mapper 接口。在 mapper 目录下创建一个 UserMapper.xml 文件,用于定义 SQL 语句:
<!-- 定义命名空间 -->
<mapper namespace='com.example.mapper.UserMapper'>
<!-- 定义查询语句 -->
<select id='getUserById' parameterType='java.lang.Long' resultType='com.example.model.User'>
SELECT * FROM user WHERE id = #{id}
</select>
<!-- 定义插入语句 -->
<insert id='insertUser' parameterType='com.example.model.User'>
INSERT INTO user(username, password) VALUES(#{username}, #{password})
</insert>
</mapper>
注意,命名空间需要与 Mapper 接口的全限定名保持一致,SQL 语句中的参数和返回值类型需要与 Mapper 接口方法的参数和返回值类型保持一致。
接着,创建一个 UserMapper 接口:
@Mapper
public interface UserMapper {
// 根据 id 查询用户信息
User getUserById(Long id);
// 插入一条用户信息
void insertUser(User user);
}
在接口上加上 @Mapper 注解,告诉 Spring Boot 将其注册为 Mapper 接口。接口中定义了两个方法,分别对应 XML 文件中的两个 SQL 语句。
最后,在 Service 层中注入 UserMapper,并调用其方法进行数据库操作:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(Long id) {
return userMapper.getUserById(id);
}
@Override
public void insertUser(User user) {
userMapper.insertUser(user);
}
}
这样就完成了使用 Spring Boot Mapper 进行数据库操作的示例。Mapper 的优点在于可以通过注解和 XML 文件快速、方便地进行数据库操作,而无需手写 SQL 语句,提高了开发效率。
原文地址: https://www.cveoy.top/t/topic/oiW1 著作权归作者所有。请勿转载和采集!