springboot集成mybatis保姆级教程
时间: 2023-05-08 13:58:56 浏览: 172
SpringBoot是一个非常流行的Java Web开发框架,而MyBatis则是Java开发中常用的ORM框架。在实际项目中,我们常常需要将两者结合起来使用。本文将为大家提供一个保姆级教程,详细讲解SpringBoot如何集成MyBatis。
一、引入相关依赖
在SpringBoot中集成MyBatis,需要在pom.xml文件中引入相关依赖。具体的依赖如下:
<!-- MyBatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<!-- 数据库驱动依赖 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
</dependency>
二、配置数据源
在集成MyBatis之前,需要先配置数据源。可以在application.yml文件中添加如下配置:
# 数据库配置
spring:
datasource:
url: jdbc:h2:file:./data/test;DB_CLOSE_ON_EXIT=FALSE
username: sa
password:
driver-class-name: org.h2.Driver
这里使用了h2数据库,并指定了特定的路径和用户名、密码。
三、配置Mapper
接下来需要配置Mapper。在创建Mapper之前,需要先创建Java实体类。例如,可以创建一个User实体类:
public class User {
private Integer id;
private String name;
private Integer age;
/* 省略setter和getter方法 */
}
然后,可以创建对应的Mapper:
@Mapper
public interface UserMapper {
@Select("select * from user where id = #{id}")
User selectUserById(Integer id);
@Insert("insert into user(name, age) values(#{name}, #{age})")
int insertUser(User user);
@Delete("delete from user where id = #{id}")
int deleteUser(Integer id);
@Update("update user set name = #{name}, age = #{age} where id = #{id}")
int updateUser(User user);
}
在这里我们使用了注解方式对Mapper进行配置。
四、配置MyBatis
在使用MyBatis之前,需要先进行配置。在application.yml文件中添加如下配置:
# MyBatis配置
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.example.springbootmybatis.entity
这里指定了Mapper的XML文件位置和Java实体类所在的包路径。
五、在Controller中使用Mapper
最后,可以在Controller中使用Mapper。例如:
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/user/{id}")
public User selectUserById(@PathVariable("id") Integer id) {
return userMapper.selectUserById(id);
}
@PostMapping("/user")
public int insertUser(@RequestBody User user) {
return userMapper.insertUser(user);
}
@DeleteMapping("/user/{id}")
public int deleteUserById(@PathVariable("id") Integer id) {
return userMapper.deleteUser(id);
}
@PutMapping("/user")
public int updateUser(@RequestBody User user){
return userMapper.updateUser(user);
}
}
这里@Autowired注解注入了UserMapper,然后我们可以在方法中调用UserMapper的方法。
通过以上步骤,我们就成功地将MyBatis集成进了SpringBoot。在实际项目中,可以根据需要修改和扩展上述内容。
阅读全文