在mapper继承basemapper的情况下如何使用mybatisplus进行新增操作
时间: 2023-12-19 18:05:05 浏览: 142
在Mapper接口继承BaseMapper的情况下,使用MyBatis Plus进行新增操作非常简单。只需要按照以下步骤进行操作即可:
1. 创建实体类,实体类中的属性应该与数据库表中的字段一一对应。
2. 在业务逻辑层中,创建实体类对象,并将需要插入的数据设置到实体类中。
3. 调用BaseMapper中的insert方法即可将数据插入到数据库中,如下所示:
```
User user = new User();
user.setName("Tom");
user.setAge(20);
baseMapper.insert(user);
```
这就是在Mapper接口继承BaseMapper的情况下,使用MyBatis Plus进行新增操作的基本步骤。值得注意的是,在使用BaseMapper进行数据操作时,实体类中必须指定主键的生成策略,否则会抛出异常。
相关问题
mybatisplus批量新增返回主键
可以使用Mybatis-Plus的`saveBatch`方法来实现批量新增并返回主键。具体步骤如下:
1.在实体类中添加`@TableId`注解,指定主键生成策略和主键字段名。例如:
```java
public class User {
@TableId(type = IdType.AUTO, value = "id")
private Long id;
private String name;
private Integer age;
// 省略getter和setter
}
```
2.在Mapper接口中继承`BaseMapper`,该接口提供了许多常用的CRUD方法,包括`saveBatch`方法。例如:
```java
public interface UserMapper extends BaseMapper<User> {
}
```
3.在Service层中调用`saveBatch`方法进行批量新增。例如:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public boolean saveBatch(List<User> userList) {
return userMapper.saveBatch(userList); }
}
```
4.在Controller层中调用Service层的`saveBatch`方法进行批量新增。例如:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/batch")
public boolean saveBatch(@RequestBody List<User> userList) {
return userService.saveBatch(userList);
}
}
```
5.在配置文件中开启useGeneratedKeys和keyProperty配置。例如:
```yaml
mybatis-plus:
global-config:
db-config:
# 开启主键自动生成
id-type: auto
# 开启批量插入返回主键
insert-strategy: useGeneratedKeys
# 指定主键字段名
key-property: id
```
以上就是使用Mybatis-Plus实现批量新增并返回主键的方法。
mybatisplus 新增
mybatisplus提供了多种方式进行新增操作,以下是其中两种常用的方式:
1.使用实体类进行新增
```java
User user = new User();
user.setName("Tom");
user.setAge(18);
user.setEmail("tom@example.com");
int result = userMapper.insert(user);
```
2.使用Map进行新增
```java
Map<String, Object> map = new HashMap<>();
map.put("name", "Tom");
map.put("age", 18);
map.put("email", "tom@example.com");
int result = userMapper.insert(map);
```
其中,`userMapper`是继承了`BaseMapper`的Mapper接口,`insert`方法会自动生成对应的SQL语句进行新增操作。
阅读全文