下面是关于“SpringBoot使用MyBatis步骤总结”的完整攻略。
一、引言
MyBatis 是一个开源的优秀的持久层框架,而 SpringBoot 是一个非常流行的 Web 应用开发框架。本文将介绍在 SpringBoot 中使用 MyBatis 的完整步骤。
二、添加依赖
首先需要在 pom.xml 文件中添加 MyBatis 和 MyBatis-SpringBoot 依赖:
<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- 其他依赖 -->
</dependencies>
三、配置MyBatis
在 SpringBoot 的配置文件 application.properties
或者 application.yml
中添加如下配置:
mybatis:
mapper-locations: classpath:mapper/*.xml # MyBatis映射文件存放路径
configuration:
map-underscore-to-camel-case: true # 开启驼峰命名转换
四、创建数据源
可以使用 SpringBoot 默认的配置,也可以自定义数据源。这里介绍两种常用的数据源配置方式:
1. 使用默认数据源
在 application.properties
文件中配置:
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=
2. 使用自定义数据源
首先将自定义数据源类添加到 Spring 容器中:
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return new DruidDataSource();
}
}
然后在 application.properties
或者 application.yml
中配置:
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=
我们使用阿里巴巴开源的 Druid 数据库连接池作为数据源。
五、创建实体类和Mapper
在项目的 src/main/java 下创建实体类和 Mapper 接口。
1. 实体类
@Data //使用 Lombok 简化 Getter/Setter 方法的编写
public class User {
private Long id;
private String name;
private Integer age;
}
2. Mapper 接口
Mapper 接口定义了对用户表的操作,包括插入、查询、更新和删除等。
@Mapper
public interface UserMapper {
@Insert("insert into user(name, age) values(#{name}, #{age})")
int addUser(User user);
@Delete("delete from user where id = #{id}")
int deleteUser(Long id);
@Update("update user set name = #{name}, age = #{age} where id = #{id}")
int updateUser(User user);
@Select("select * from user where id = #{id}")
User findUserById(Long id);
@Select("select * from user")
List<User> findAllUser();
}
六、创建Service
创建 Service 类,并注入 UserMapper 实例对象。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public int addUser(User user) {
return userMapper.addUser(user);
}
public int deleteUser(Long id) {
return userMapper.deleteUser(id);
}
public int updateUser(User user) {
return userMapper.updateUser(user);
}
public User findUserById(Long id) {
return userMapper.findUserById(id);
}
public List<User> findAllUser() {
return userMapper.findAllUser();
}
}
七、编写Controller
在 SpringBoot 中使用 MyBatis,可以使用 @RestController、@GetMapping、@PostMapping 等注解来定义 RESTful 接口。
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/add")
public int addUser(@RequestBody User user) {
return userService.addUser(user);
}
@DeleteMapping("/{id}")
public int deleteUser(@PathVariable("id") Long id) {
return userService.deleteUser(id);
}
@PutMapping
public int updateUser(@RequestBody User user) {
return userService.updateUser(user);
}
@GetMapping("/{id}")
public User findUserById(@PathVariable("id") Long id) {
return userService.findUserById(id);
}
@GetMapping("/all")
public List<User> findAllUser() {
return userService.findAllUser();
}
}
八、示例
1. 新增用户
向 http://localhost:8080/user/add 发送 POST 请求,例如:
{
"name": "Tom",
"age": 22
}
则返回:
1
表示插入数据成功。
2. 查询所有用户
向 http://localhost:8080/user/all 发送 GET 请求,则返回所有用户的信息,例如:
[
{
"id": 1,
"name": "Tom",
"age": 22
},
{
"id": 2,
"name": "Lucy",
"age": 23
}
]
九、总结
至此,我们已经学习了在 SpringBoot 中使用 MyBatis 的完整步骤。根据以上流程,可以快速、简单地开发出一个并发量较小的 Web 应用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot使用mybatis步骤总结 - Python技术站