下面来详细讲解“Spring Boot整合MyBatis使用注解实现动态SQL、参数传递等常用操作(实现方法)”的完整攻略,包括以下几个方面:
- 环境准备:
在使用MyBatis前,需要包含所需的依赖包,这里我们将使用Maven管理依赖进行配置。在pom.xml文件中添加以下代码:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<version>2.4.5</version>
</dependency>
- 配置数据源:
在Spring Boot中,配置数据源通常使用application.properties或application.yaml文件,配置数据源如下:
spring.datasource.url=jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- 编写实体类:
在此示例中,我们将创建一个User类来演示如何使用MyBatis实现常见的数据库操作。类代码如下:
public class User {
private Long id;
private String name;
private Integer age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
- 编写Mapper接口:
在MyBatis中,Mapper接口中定义了与数据库进行交互的方法。 Mapper接口需要使用@Mapper注解进行标注,并使用@Select等注解实现动态SQL和参数传递。以下代码展示了UserMapper,
@Mapper
public interface UserMapper {
@Select("SELECT * FROM users WHERE name = #{name}")
User findByName(@Param("name") String name);
@Insert("INSERT INTO users(name, age) VALUES(#{name}, #{age})")
int insert(@Param("name") String name, @Param("age") Integer age);
@Update("UPDATE users SET age=#{age} WHERE name=#{name}")
void update(User user);
@Delete("DELETE FROM users WHERE id =#{id}")
void delete(Long id);
@Select("SELECT * FROM users")
List<User> getAll();
}
可以看到,在代码中使用了各种MyBatis的注解,如@Select、@Insert、@Update、@Delete。
- 编写Controller:
在Controller中注入UserMapper并使用其定义的方法进行数据库操作。以下代码展示了UserController:
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/getUser")
public User getUser(String name) {
return userMapper.findByName(name);
}
@RequestMapping("/addUser")
public String addUser(String name, Integer age) {
userMapper.insert(name, age);
return "success";
}
@RequestMapping("/updateUser")
public String updateUser(User user) {
userMapper.update(user);
return "success";
}
@RequestMapping("/deleteUser")
public String deleteUser(Long id) {
userMapper.delete(id);
return "success";
}
@RequestMapping("/getAllUser")
public List<User> getAllUser() {
return userMapper.getAll();
}
}
可以看到,在Controller中通过自动装配的方式注入UserMapper,并使用其定义的方法进行数据库操作。
综上所述,以上便是“Spring Boot整合MyBatis使用注解实现动态SQL、参数传递等常用操作(实现方法)”的攻略。其中程序的核心在于编写Mapper接口来与数据库进行交互,并在Controller中注入该接口进行操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot整合mybatis使用注解实现动态Sql、参数传递等常用操作(实现方法) - Python技术站