如何使用 MyBatis-Plus
的 EntityWrapper
来查询数据,以下是详细的攻略:
前置条件
要使用 EntityWrapper
,需要先添加 MyBatis-Plus
的依赖,如下:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>latest-version</version>
</dependency>
基础用法
EntityWrapper
可以用于构建查询条件,并且支持链式调用。以下是基础用法示例:
EntityWrapper<User> wrapper = new EntityWrapper<>();
wrapper.eq("age", 18).like("name", "Tom");
List<User> userList = userMapper.selectList(wrapper);
上面的代码中,构建了一个 EntityWrapper
,然后使用 eq
和 like
方法来构建查询条件,最后用 selectList
执行查询。
复杂用法
除了基本的操作, EntityWrapper
还支持复杂的查询条件,例如:
EntityWrapper<User> wrapper = new EntityWrapper<>();
wrapper.between("age", 18, 30)
.eq("gender", "male")
.andNew() // 创建新的查询条件组
.eq("is_vip", true)
.or() // 或者的关系
.ne("status", "deleted")
.orderBy("age")
.last("limit 10");
List<User> userList = userMapper.selectList(wrapper);
上面的代码中,使用了 between
、eq
、andNew
、or
、ne
、orderBy
和 last
来构建查询条件,最终使用 selectList
执行查询。
示例
下面是两个使用 EntityWrapper
的示例:
示例一:查询年龄在18到25岁、姓名以“Tom”开头、并且是男性的用户
EntityWrapper<User> wrapper = new EntityWrapper<>();
wrapper.between("age", 18, 25)
.likeRight("name", "Tom")
.eq("gender", "male");
List<User> userList = userMapper.selectList(wrapper);
示例二:查询订单状态为“已取消”或“已完成”,并且订单金额不小于100元的订单
EntityWrapper<Order> wrapper = new EntityWrapper<>();
wrapper.in("status", "cancelled", "completed")
.ge("amount", 100);
List<Order> orderList = orderMapper.selectList(wrapper);
上面两个示例中,使用了不同的查询条件构造方法,用于演示 EntityWrapper
的基本用法。根据具体要求,您可以自由组合各种条件来构造查询条件,满足更加复杂的查询需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis-Plus工具使用之EntityWrapper解析 - Python技术站