springboot整合mybatis实现增删改查
时间: 2023-06-05 12:47:24 浏览: 182
Spring Boot 集成 MyBatis 实现增删改查的步骤如下:
1. 在 pom.xml 文件中添加 MyBatis 依赖
2. 在 application.properties 文件中配置数据源信息
3. 编写 MyBatis 的映射文件
4. 编写 Mapper 接口
5. 编写 Service 和 Controller 类
6. 在启动类上添加 @MapperScan 注解,扫描 Mapper 接口
这样就可以使用 MyBatis 在 Spring Boot 中实现数据库的增删改查操作了。
相关问题
我希望通过springboot整合mybatis实现增删改查,请详细讲一讲UserMapper接口和UserMapper.xml的编写方法,最好结合例子说明
当我们使用SpringBoot整合Mybatis时,需要先在pom.xml文件中引入相关的依赖。常用的依赖有:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
```
接下来,我们需要在application.properties文件中配置数据库连接信息:
```properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
```
其中,url中的db_test是数据库名称,可以根据实际情况进行修改。
接下来,我们可以开始编写UserMapper接口和UserMapper.xml。
UserMapper接口的编写:
```java
@Mapper
public interface UserMapper {
User selectById(@Param("id") int id);
List<User> selectAll();
int insert(User user);
int update(User user);
int deleteById(@Param("id") int id);
}
```
其中,@Mapper注解表示该接口是Mybatis的Mapper接口,SpringBoot会自动扫描该包下所有的Mapper接口并生成对应的实现类。
UserMapper.xml的编写:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
<resultMap id="userMap" type="com.example.demo.entity.User">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="age" property="age"/>
<result column="gender" property="gender"/>
</resultMap>
<select id="selectById" resultMap="userMap">
select * from user where id = #{id}
</select>
<select id="selectAll" resultMap="userMap">
select * from user
</select>
<insert id="insert" parameterType="com.example.demo.entity.User">
insert into user(name, age, gender) values(#{name}, #{age}, #{gender})
</insert>
<update id="update" parameterType="com.example.demo.entity.User">
update user set name = #{name}, age = #{age}, gender = #{gender} where id = #{id}
</update>
<delete id="deleteById">
delete from user where id = #{id}
</delete>
</mapper>
```
其中,namespace表示该Mapper接口的全限定名,resultMap用于将查询结果映射为Java对象,select、insert、update、delete分别对应查询、插入、更新、删除操作,id表示该操作的唯一标识符,parameterType表示该操作的参数类型,column表示数据库表的列名,property表示Java对象的属性名,#{id}、#{name}、#{age}、#{gender}分别表示Mybatis的占位符,用于替换参数。
以上就是使用SpringBoot整合Mybatis实现增删改查的基本方法,希望对你有所帮助。
springboot整合mybatis的增删改查
可以使用MyBatis-Plus来简化代码,具体步骤如下:
1. 在pom.xml文件中添加MyBatis-Plus的依赖:
```
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
```
2. 在application.yml文件中配置数据源和MyBatis-Plus:
```
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
mapper-locations: classpath:/mapper/*.xml
type-aliases-package: com.example.demo.entity
```
3. 创建实体类和Mapper接口:
```
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
4. 在Controller中注入UserMapper并使用MyBatis-Plus提供的方法进行增删改查:
```
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/{id}")
public User getById(@PathVariable Long id) {
return userMapper.selectById(id);
}
@PostMapping
public boolean save(@RequestBody User user) {
return userMapper.insert(user) > 0;
}
@PutMapping
public boolean updateById(@RequestBody User user) {
return userMapper.updateById(user) > 0;
}
@DeleteMapping("/{id}")
public boolean removeById(@PathVariable Long id) {
return userMapper.deleteById(id) > 0;
}
}
```
阅读全文