在Spring Boot应用程序中使用MyBatis进行数据库操作是非常常见的。在本文中,我们将介绍如何在Spring Boot应用程序中整合MyBatis,并提供两个示例。
示例一:使用XML配置文件
以下是一个示例,演示如何在Spring Boot应用程序中使用XML配置文件整合MyBatis:
- 添加依赖
在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
- 配置数据源
在application.properties文件中配置数据源:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- 配置MyBatis
在application.properties文件中配置MyBatis:
mybatis.mapper-locations=classpath:mapper/*.xml
在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">
<select id="getUserById" parameterType="int" resultType="com.example.demo.entity.User">
select * from user where id = #{id}
</select>
</mapper>
在上面的示例中,我们创建了一个名为UserMapper的Mapper接口,并在其中定义了一个名为getUserById的方法,该方法使用id参数查询user表中的数据。
- 编写代码
在com.example.demo.entity包中创建一个名为User的实体类:
public class User {
private int id;
private String name;
private int age;
// 省略getter和setter方法
}
在com.example.demo.mapper包中创建一个名为UserMapper的Mapper接口:
public interface UserMapper {
User getUserById(int id);
}
在com.example.demo.service包中创建一个名为UserService的服务类:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(int id) {
return userMapper.getUserById(id);
}
}
在com.example.demo.controller包中创建一个名为UserController的控制器类:
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public User getUserById(@PathVariable int id) {
return userService.getUserById(id);
}
}
在上面的示例中,我们创建了一个名为UserController的控制器类,并在其中定义了一个名为getUserById的方法,该方法使用id参数调用UserService的getUserById方法查询user表中的数据。
示例二:使用注解配置
以下是一个示例,演示如何在Spring Boot应用程序中使用注解配置整合MyBatis:
- 添加依赖
在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
- 配置数据源
在application.properties文件中配置数据源:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- 配置MyBatis
在application.properties文件中配置MyBatis:
mybatis.type-aliases-package=com.example.demo.entity
在com.example.demo.mapper包中创建一个名为UserMapper的Mapper接口,并使用注解配置:
@Mapper
public interface UserMapper {
@Select("select * from user where id = #{id}")
User getUserById(int id);
}
在上面的示例中,我们使用@Mapper注解将UserMapper接口标记为MyBatis的Mapper接口,并使用@Select注解定义了一个名为getUserById的方法,该方法使用id参数查询user表中的数据。
- 编写代码
在com.example.demo.service包中创建一个名为UserService的服务类:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(int id) {
return userMapper.getUserById(id);
}
}
在com.example.demo.controller包中创建一个名为UserController的控制器类:
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public User getUserById(@PathVariable int id) {
return userService.getUserById(id);
}
}
在上面的示例中,我们创建了一个名为UserController的控制器类,并在其中定义了一个名为getUserById的方法,该方法使用id参数调用UserService的getUserById方法查询user表中的数据。
结束语
在本文中,我们介绍了如何在Spring Boot应用程序中整合MyBatis,并提供了两个示例。这些技巧可以帮助我们更好地使用MyBatis进行数据库操作,并提高开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot整合mybatis(一)实例代码 - Python技术站