springboot集成mybatis plus代码示例
时间: 2023-10-06 10:06:37 浏览: 49
1. 添加mybatis plus依赖
在pom.xml文件中添加如下依赖:
```xml
<!-- MyBatis Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
```
2. 配置mybatis plus
在application.properties文件中添加如下配置:
```properties
# Mybatis Plus
mybatis-plus.mapper-locations=classpath*:mapper/*.xml
mybatis-plus.type-aliases-package=com.example.demo.entity
```
3. 定义实体类
在com.example.demo.entity包下定义实体类User,代码如下:
```java
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
```
4. 定义Mapper接口
在com.example.demo.mapper包下定义Mapper接口UserMapper,代码如下:
```java
public interface UserMapper extends BaseMapper<User> {
}
```
5. 定义Mapper XML文件
在resources/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="BaseResultMap" type="com.example.demo.entity.User">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="age" property="age" />
<result column="email" property="email" />
</resultMap>
<sql id="Base_Column_List">
id, name, age, email
</sql>
<select id="selectById" resultMap="BaseResultMap">
select <include refid="Base_Column_List" /> from user where id = #{id}
</select>
<select id="selectList" resultMap="BaseResultMap">
select <include refid="Base_Column_List" /> from user
</select>
<insert id="insert" parameterType="com.example.demo.entity.User">
insert into user(name, age, email) values (#{name}, #{age}, #{email})
</insert>
<update id="updateById" parameterType="com.example.demo.entity.User">
update user set name=#{name}, age=#{age}, email=#{email} where id=#{id}
</update>
<delete id="deleteById" parameterType="java.lang.Long">
delete from user where id=#{id}
</delete>
</mapper>
```
6. 使用Mybatis Plus提供的方法操作数据库
在controller中使用Mybatis Plus提供的方法操作数据库,代码如下:
```java
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/user/{id}")
public User getUserById(@PathVariable Long id) {
return userMapper.selectById(id);
}
@GetMapping("/user")
public List<User> getUserList() {
return userMapper.selectList(null);
}
@PostMapping("/user")
public String addUser(@RequestBody User user) {
userMapper.insert(user);
return "success";
}
@PutMapping("/user")
public String updateUser(@RequestBody User user) {
userMapper.updateById(user);
return "success";
}
@DeleteMapping("/user/{id}")
public String deleteUserById(@PathVariable Long id) {
userMapper.deleteById(id);
return "success";
}
}
```
上述代码中,@Autowired注解用于自动注入UserMapper实例。getUserById方法使用selectById方法查询用户信息;getUserList方法使用selectList方法查询所有用户信息;addUser方法使用insert方法添加用户信息;updateUser方法使用updateById方法更新用户信息;deleteUserById方法使用deleteById方法删除用户信息。