EntityWrapper构建查询条件有什么用
时间: 2024-02-19 19:58:58 浏览: 59
EntityWrapper是Mybatis-Plus提供的一个查询条件构造器,它可以用于构建复杂的SQL查询条件,包括各种比较条件、逻辑条件和字符串拼接等。
使用EntityWrapper可以避免手写SQL语句,简化开发操作,同时可以提高代码的可读性和可维护性。EntityWrapper支持链式调用方式,可以方便的组合多个查询条件,例如:
```
EntityWrapper<BanjiEntity> wrapper = new EntityWrapper<>();
wrapper.eq("yuanxi_types", banji.getYuanxiTypes())
.eq("banji_name", banji.getBanjiName())
.eq("banji_address", banji.getBanjiAddress());
```
这个例子中,首先创建了一个EntityWrapper对象`wrapper`,然后使用eq方法构建了三个等于查询条件,最后组合成一个完整的查询条件。这个查询条件可以用于查询符合条件的BanjiEntity对象。
除了eq方法,EntityWrapper还支持其他多种查询条件,例如like、in、between等。这些查询条件可以通过链式调用方式组合成复杂的查询条件,满足不同的业务需求。
总之,EntityWrapper构建查询条件可以使我们更加方便的进行数据库查询操作,提高开发效率,降低出错率。
相关问题
EntityWrapper查询条件都要满足吗
EntityWrapper查询条件默认是and条件,也就是说,多个查询条件都要满足才能查询出符合条件的数据。例如:
```
EntityWrapper<User> wrapper = new EntityWrapper<>();
wrapper.eq("name", "张三")
.eq("age", 18);
List<User> userList = userMapper.selectList(wrapper);
```
在这个例子中,我们创建了一个EntityWrapper对象,并设置了两个等于查询条件,分别是name等于"张三"和age等于18。这两个查询条件都要满足才能查询出符合条件的数据。
如果想使用or条件查询,可以使用or方法,例如:
```
EntityWrapper<User> wrapper = new EntityWrapper<>();
wrapper.eq("name", "张三")
.or()
.eq("age", 18);
List<User> userList = userMapper.selectList(wrapper);
```
在这个例子中,我们使用or方法将两个查询条件设置为or条件,只要有一个条件满足即可查询出符合条件的数据。
需要注意的是,EntityWrapper还支持各种其他类型的查询条件,例如in查询条件、like查询条件、isNull查询条件等,可以根据具体的业务需求选择适合的查询条件进行构建。
总之,EntityWrapper查询条件默认是and条件,多个查询条件都要满足才能查询出符合条件的数据。如果需要使用or条件,可以使用or方法设置查询条件。
如果EntityWrapper查询条件不满足那么会返回什么
如果EntityWrapper查询条件不满足,则会返回一个空的查询结果,也就是一个空的List对象。
例如,我们创建了一个EntityWrapper对象,并设置了一个等于查询条件,但是这个查询条件不满足,没有符合条件的数据:
```
EntityWrapper<User> wrapper = new EntityWrapper<>();
wrapper.eq("name", "张三");
List<User> userList = userMapper.selectList(wrapper);
```
在这个例子中,我们使用EntityWrapper构建了一个等于查询条件,查询name等于"张三"的用户数据。但是,如果数据库中没有符合条件的数据,那么查询结果就是一个空的List对象,而不是null或者抛出异常。
当然,如果查询条件有误,例如查询的字段不存在或者查询条件不合法,那么会抛出相应的异常。
需要注意的是,在使用EntityWrapper构建查询条件时,一定要保证查询条件正确合法,避免因为查询条件不满足或者查询条件错误导致查询结果不正确。
总之,如果EntityWrapper查询条件不满足,则会返回一个空的查询结果,也就是一个空的List对象。如果查询条件有误,会抛出相应的异常。在使用EntityWrapper构建查询条件时,一定要保证查询条件正确合法。
阅读全文