mybatisplus new QueryWrapper新增
时间: 2025-02-14 20:18:18 浏览: 41
### MyBatis Plus 使用 QueryWrapper 实现新增操作
需要注意的是,`QueryWrapper` 主要用于构建查询条件,在更新、删除以及查询场景下非常有用。对于新增操作而言,通常不需要使用 `QueryWrapper` 来执行。相反,应该直接调用实体类对应的 Mapper 接口中的 save 方法来完成数据的插入。
下面展示如何通过 MyBatis Plus 完成一条记录的新建:
```java
// 假设有一个 Student 类作为实体对象
public class Student {
private Long id;
private String name;
private Integer age;
// getter 和 setter 方法...
}
@Autowired
private StudentMapper studentMapper; // 注入StudentMapper接口实例
public void addNewStudent() {
Student newStudent = new Student();
newStudent.setName("张三");
newStudent.setAge(20);
int result = studentMapper.insert(newStudent); // 插入新学生信息并返回受影响行数
}
```
如果确实希望基于某些特定条件判断后再决定是否进行插入,则可以先利用 `QueryWrapper` 查询是否存在符合条件的数据,再做相应处理:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
public boolean checkAndAddIfNotExists(String studentName, Integer studentAge) {
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", studentName).eq("age", studentAge);
List<Student> students = studentMapper.selectList(queryWrapper);
if (students.isEmpty()) { // 如果不存在相同姓名年龄的学生则添加
Student newStudent = new Student();
newStudent.setName(studentName);
newStudent.setAge(studentAge);
return studentMapper.insert(newStudent) > 0 ? true : false;
} else {
return false;
}
}
```
上述代码展示了当数据库中尚无同名同龄的学生时才会创建新的学生条目[^1]。
阅读全文
相关推荐


















