springboot整合mybatis实现省市区三级查询
时间: 2023-08-21 15:13:45 浏览: 114
你可以按照以下步骤来实现Spring Boot与MyBatis的整合,并实现省市区三级查询:
1. 首先,在你的Spring Boot项目中添加MyBatis和MyBatis-Spring的依赖。你可以在项目的pom.xml文件中添加以下依赖:
```xml
<dependencies>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<!-- MySQL 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
<!-- 其他依赖... -->
</dependencies>
```
2. 在你的Spring Boot配置文件application.properties或application.yml中添加数据库连接配置,例如:
```properties
# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis 配置
mybatis.mapper-locations=classpath:mapper/**/*.xml
mybatis.type-aliases-package=com.example.yourproject.model
```
3. 创建省市区的数据表,并定义对应的实体类。
4. 创建MyBatis的Mapper接口,用于定义省市区数据表的增删改查操作。例如,创建一个CityMapper接口:
```java
public interface CityMapper {
City getById(int id);
List<City> getByProvinceId(int provinceId);
// 其他查询方法...
}
```
5. 创建MyBatis的Mapper XML文件,对应CityMapper接口的方法。例如,创建一个cityMapper.xml文件:
```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.yourproject.mapper.CityMapper">
<resultMap id="BaseResultMap" type="com.example.yourproject.model.City">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="province_id" property="provinceId" jdbcType="INTEGER"/>
<!-- 其他字段映射... -->
</resultMap>
<select id="getById" resultMap="BaseResultMap">
SELECT * FROM city WHERE id = #{id}
</select>
<select id="getByProvinceId" resultMap="BaseResultMap">
SELECT * FROM city WHERE province_id = #{provinceId}
</select>
<!-- 其他查询语句... -->
</mapper>
```
6. 创建Service层和Controller层,用于调用MyBatis的Mapper接口进行查询操作。例如,创建一个CityService和CityController:
```java
@Service
public class CityService {
@Autowired
private CityMapper cityMapper;
public City getById(int id) {
return cityMapper.getById(id);
}
public List<City> getByProvinceId(int provinceId) {
return cityMapper.getByProvinceId(provinceId);
}
// 其他查询方法...
}
@RestController
public class CityController {
@Autowired
private CityService cityService;
@GetMapping("/city/{id}")
public City getCityById(@PathVariable int id) {
return cityService.getById(id);
}
@GetMapping("/city/province/{provinceId}")
public List<City> getCitiesByProvinceId(@PathVariable int provinceId) {
return cityService.getByProvinceId(provinceId);
}
// 其他接口...
}
```
7. 启动Spring Boot应用程序,并测试接口的调用。例如,通过访问`http://localhost:8080/city/1`可以获取id为1的城市信息,通过访问`http://localhost:8080/city/province/1`可以获取省份id为1的所有城市信息。
以上是整合Spring Boot和MyBatis实现省市区三级查询的基本步骤,你可以根据自己的需求进行修改和扩展。希望对你有帮助!如果你有任何问题,请随时提问。
阅读全文