springboot整合mybatis+关联映射
时间: 2023-12-23 21:04:02 浏览: 97
springboot整合mybatis
在Spring Boot中,可以使用MyBatis框架来实现与关系数据库的关联映射。下面是一个简单的示例:
1. 首先,确保你的项目中已经引入了Spring Boot和MyBatis的依赖。
2. 创建一个实体类,表示数据库中的一张表。例如,创建一个名为User的实体类,包含id、name和age属性。
3. 创建一个Mapper接口,用于定义数据库操作的方法。例如,创建一个名为UserMapper的接口,包含查询用户信息的方法。
4. 在Mapper接口中使用注解@Select、@Insert、@Update等来定义SQL语句。
5. 创建一个Mapper.xml文件,用于编写SQL语句。在该文件中,使用<select>、<insert>、<update>等标签来定义SQL语句。
6. 在Spring Boot的配置文件中,配置MyBatis的相关信息,如数据库连接信息、Mapper接口的扫描路径等。
7. 在Service层中调用Mapper接口的方法,实现业务逻辑。
8. 在Controller层中处理请求,并调用Service层的方法。
下面是一个示例代码:
```java
// User.java
public class User {
private Integer id;
private String name;
private Integer age;
// 省略getter和setter方法
}
// UserMapper.java
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User getUserById(Integer id);
}
// 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.mapper.UserMapper">
<select id="getUserById" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>
// application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
mybatis.mapper-locations=classpath:mapper/*.xml
// UserService.java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(Integer id) {
return userMapper.getUserById(id);
}
}
// UserController.java
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public User getUserById(@PathVariable Integer id) {
return userService.getUserById(id);
}
}
```
以上示例演示了如何在Spring Boot中整合MyBatis,并实现了关联映射。你可以根据自己的需求,编写更多的Mapper接口和SQL语句来实现其他数据库操作。
阅读全文