详解Spring Boot集成MyBatis(注解方式)
Spring Boot是一个快速创建Spring应用程序的框架,而MyBatis是一种使用XML或注解进行数据库操作的ORM框架。在Spring Boot集成MyBatis的过程中,我们可以采用注解方式进行配置,这样可以使代码更加简洁明了。下面就让我们来详细讲解Spring Boot集成MyBatis(注解方式)的完整攻略。
步骤一:添加依赖
在pom.xml文件中添加以下依赖:
<!--MyBatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!--MySQL依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
步骤二:配置数据源
在application.properties文件中配置数据源信息:
# 数据源配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
步骤三:配置MyBatis
在MyBatisConfig类中进行MyBatis的配置,如下所示:
@Configuration
@MapperScan("com.example.demo.mapper")
public class MyBatisConfig {
@Autowired
private DataSource dataSource;
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
return sqlSessionFactoryBean;
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
步骤四:编写实体类和Mapper接口
在Spring Boot中,我们通常使用实体类和Mapper接口进行数据库操作。接下来,我们就要编写实体类和Mapper接口。
1. 编写实体类
编写User实体类,如下所示:
@Data
public class User {
private int id;
private String name;
private String password;
}
2. 编写Mapper接口
编写UserMapper接口,如下所示:
@Mapper
public interface UserMapper {
/**
* 根据用户名查询用户信息
* @param name
* @return
*/
@Select("SELECT * FROM user WHERE name = #{name}")
User findByName(@Param("name") String name);
/**
* 添加用户信息
* @param user
* @return
*/
@Insert("INSERT INTO user (name, password) VALUES (#{name}, #{password})")
int addUser(User user);
/**
* 更新用户信息
* @param user
* @return
*/
@Update("UPDATE user SET password = #{password} WHERE name = #{name}")
int updateUser(User user);
/**
* 删除用户信息
* @param name
* @return
*/
@Delete("DELETE FROM user WHERE name = #{name}")
int deleteUser(@Param("name") String name);
}
步骤五:测试
编写UserController类进行测试,如下所示:
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
/**
* 根据用户名查询用户信息
* @param name
* @return
*/
@GetMapping("/findByName")
public User findByName(@RequestParam("name") String name) {
return userMapper.findByName(name);
}
/**
* 添加用户信息
* @param user
* @return
*/
@PostMapping("/addUser")
public int addUser(@RequestBody User user) {
return userMapper.addUser(user);
}
/**
* 更新用户信息
* @param user
* @return
*/
@PutMapping("/updateUser")
public int updateUser(@RequestBody User user) {
return userMapper.updateUser(user);
}
/**
* 删除用户信息
* @param name
* @return
*/
@DeleteMapping("/deleteUser")
public int deleteUser(@RequestParam("name") String name) {
return userMapper.deleteUser(name);
}
}
启动应用程序,进行测试。
示例一:根据用户名查询用户信息
访问http://localhost:8080/findByName?name=张三,可以查询到用户信息。
示例二:添加用户信息
使用Postman发送POST请求,访问http://localhost:8080/addUser,添加用户信息。
请求体如下所示:
{
"name": "李四",
"password": "123456"
}
可以看到返回值为:1,表示添加成功。
示例三:更新用户信息
使用Postman发送PUT请求,访问http://localhost:8080/updateUser,更新用户信息。
请求体如下所示:
{
"name": "李四",
"password": "654321"
}
可以看到返回值为:1,表示更新成功。
示例四:删除用户信息
使用Postman发送DELETE请求,访问http://localhost:8080/deleteUser,删除用户信息。
请求参数如下所示:
{
"name": "李四"
}
可以看到返回值为:1,表示删除成功。
至此,Spring Boot集成MyBatis(注解方式)的完整攻略就讲解完毕了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Spring Boot集成MyBatis(注解方式) - Python技术站