下面是“springboot 2.x整合mybatis实现增删查和批量处理方式”的完整攻略。
准备工作
在开始整合之前,需要确保已经添加了Spring Boot和MyBatis的依赖。
先来看一下pom.xml文件:
<dependencies>
<!--Spring Boot相关依赖-->
<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>
<!-- MySQL相关依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
配置数据源
在application.properties文件中添加MySQL连接信息:
# 数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MySQL连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
配置MyBatis
在Spring Boot中,MyBatis的自动配置非常方便。只需要在配置文件中设置MyBatis的Mapper接口扫描路径即可。
@MapperScan("com.example.demo.mapper")
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
编写Mapper接口
@Mapper
public interface UserMapper {
@Select("select * from user")
List<User> getAllUsers();
@Select("select * from user where id = #{id}")
User getUserById(int id);
@Insert("insert into user(name, age) values(#{name}, #{age})")
void addUser(User user);
@Update("update user set name = #{name}, age = #{age} where id = #{id}")
void updateUser(User user);
@Delete("delete from user where id = #{id}")
void deleteUserById(int id);
@Insert({
"<script>"
+ "insert into user(name, age) values "
+ "<foreach collection='users' item='user' separator=','>"
+ "(#{user.name}, #{user.age})"
+ "</foreach>"
+ "</script>"
})
void addUsers(@Param("users") List<User> users);
}
使用Mapper接口
在Controller中注入UserMapper接口并使用。
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/users")
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
@GetMapping("/users/{id}")
public User getUserById(@PathVariable("id") int id) {
return userMapper.getUserById(id);
}
@PostMapping("/users")
public void addUser(@RequestBody User user) {
userMapper.addUser(user);
}
@PutMapping("/users")
public void updateUser(@RequestBody User user) {
userMapper.updateUser(user);
}
@DeleteMapping("/users/{id}")
public void deleteUserById(@PathVariable("id") int id) {
userMapper.deleteUserById(id);
}
@PostMapping("/users/batch")
public void addUsers(@RequestBody List<User> users) {
userMapper.addUsers(users);
}
}
这里我提供两个示例,分别是单个对象的增删改查和批量添加对象。
示例1:使用POST请求添加一个用户
请求地址:http://localhost:8080/users
请求参数:
{
"name":"Tom",
"age":20
}
示例2:使用POST请求批量添加多个用户
请求地址:http://localhost:8080/users/batch
请求参数:
[
{
"name":"Tom",
"age":20
},
{
"name":"Jerry",
"age":22
},
{
"name":"Peter",
"age":24
}
]
这就是完整的“Spring Boot 2.x整合MyBatis实现增删查和批量处理方式”的攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot 2.x整合mybatis实现增删查和批量处理方式 - Python技术站