mabatis-plus 插入一条数据
时间: 2023-12-25 13:04:56 浏览: 30
使用 Mybatis-Plus 插入一条数据可以通过以下步骤实现:
1. 创建实体类,该类需要继承 Model 类(或 BaseEntity 类)并添加对应的数据表字段。
例如,创建一个 User 实体类:
```java
public class User extends Model<User> {
private Long id;
private String name;
private Integer age;
// 省略 getter 和 setter 方法
}
```
2. 创建 Mapper 接口,该接口继承 BaseMapper 接口,并对应实体类。
例如,创建一个 UserMapper 接口:
```java
public interface UserMapper extends BaseMapper<User> {
}
```
3. 使用该 Mapper 接口中的 insert 方法插入一条数据。
例如,插入一条 id 为 1,name 为 "Tom",age 为 18 的用户数据:
```java
User user = new User();
user.setId(1L);
user.setName("Tom");
user.setAge(18);
userMapper.insert(user);
```
以上就是使用 Mybatis-Plus 插入一条数据的步骤。
相关问题
mybatis-plus插入多条数据
Mybatis-Plus 提供了 `insertBatch` 方法用于批量插入数据。假设我们有一个实体类 `User`,可以使用以下方法来批量插入多条数据:
```java
List<User> userList = new ArrayList<>();
// 假设这里有多条 User 数据需要插入
int result = userService.saveBatch(userList);
```
需要注意的是,`saveBatch` 方法的返回值是成功插入数据的条数。如果插入失败,会抛出异常。如果需要批量插入数据时忽略插入失败的数据,可以使用 `saveBatchSomeColumn` 方法。同时,如果需要自定义批量插入的 SQL 语句,可以使用 `insertBatchSomeColumn` 方法。
另外,Mybatis-Plus 还提供了 `insertBatchSomeColumn` 方法,可以指定插入的字段,例如:
```java
List<User> userList = new ArrayList<>();
// 假设这里有多条 User 数据需要插入
int result = userService.saveBatchSomeColumn(userList, new QueryWrapper<User>().select("name", "age"));
```
以上代码只会插入 `name` 和 `age` 两个字段的数据。
mybatis-plus批量插入数据
可以使用Mybatis-plus提供的BatchInsert方法来实现批量插入数据,示例代码如下:
```java
List<User> userList = new ArrayList<>();
// 添加多个User对象到userList中
int batchSize = 1000; // 每批次插入的数据量
int totalSize = userList.size();
int batchCount = (totalSize + batchSize - 1) / batchSize; // 计算批次数
for (int i = 0; i < batchCount; i++) {
int fromIndex = i * batchSize;
int toIndex = Math.min((i + 1) * batchSize, totalSize);
List<User> subList = userList.subList(fromIndex, toIndex);
int rows = userMapper.batchInsert(subList); // 批量插入数据
System.out.println("第" + (i + 1) + "批次插入了" + rows + "条数据");
}
```
其中,User是一个JavaBean,userMapper是Mybatis-plus自动生成的Mapper接口,batchInsert方法是自定义的批量插入方法,其实现类似于单条插入,只是需要在SQL语句中添加VALUES子句的多个值。