java中通过多条件查询_Java 多对多 表联合查询 中 根据 条件 查询指定内容

这篇博客介绍了在Java中如何进行多对多表联合查询,通过四个for循环实现。首先通过Y类中包含'Y'的字符列查询出一批数据,接着通过外键关联到YKenan类,再进一步连接到Kenan类,最终获取到符合条件的Kenan对象列表。查询结果分别用listSelectByKenan和listYNameByKenan表示。
摘要由CSDN通过智能技术生成

Java 多对多 表联合查询 中 根据 条件 查询指定内容

很神奇,用了四次 for 循环

下面的代码表示:

有一个类:Y

有另一个类:Kenan

一个 Y 可以含有多个 Kenan

一个 Kenan 可以含有多个 Y

这就需要建立另一个类:YKenan(多对多,建立外键等)

通过 Y 中含有 “Y” 的字符列,查出多个第一批数据,再通过 Y 外键连接到 YKenan 类,通过里一个外键连接到 Kenan 类,这样就得到了相应的第二批数据,而第一批数据中每个数据都包含多少个 Kenan 对象(也就是第二批数据中零个一个或者多个数据),再通过这个对象查出所需要的列

List listSelectByKenan = yService.selectByInstructor("Y%");

model.addAttribute("listSelectByKenan", listSelectByKenan);

/*******************************************

* 多对多查询结果-start

*************************************************/

List> listYNameByKenan = new ArrayList>();

for (int i = 0; i < listSelectByKenan.size(); i++) {

List list_kenanName = new ArrayList();

List selectByYKenan

MyBatis-Plus是MyBatis的一个增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus提供了许多便捷的功能,其就包括多条件查询。 多条件查询通常是指根据多个条件对多个相关联的进行联合查询。在MyBatis-Plus,可以通过以下几种方式实现: 1. 使用`QueryWrapper`或`LambdaQueryWrapper`构建查询条件,它们提供了一系列链式方法,用于构建复杂的查询逻辑,包括`eq`(等于)、`ne`(不等于)、`gt`(大于)、`ge`(大于等于)、`lt`(小于)、`le`(小于等于)、`like`(模糊查询)等。 2. 通过在实体类定义关联关系,可以方便地进行多查询。例如,可以通过`@TableField`注解指定实体类字段对应的和字段,以及使用`@TableId`指定主键字段。 3. 利用MyBatis-Plus提供的`SelectJoinWrapper`或`LambdaQueryWrapper`的`join`方法进行多连接查询。 下面是一个简单的例子来说明如何使用`LambdaQueryWrapper`进行多条件查询: ```java LambdaQueryWrapper<EntityClass> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EntityClass::getField1, value1) .like(EntityClass::getField2, value2) .ge(EntityClass::getField3, value3) .orderByDesc(EntityClass::getField4); List<EntityClass> result = entityMapper.selectList(queryWrapper); ``` 在这个例子,`EntityClass`是实体类,`entityMapper`是对应的Mapper接口,`selectList`方法根据提供的查询条件执行查询,并返回结果集。 需要注意的是,进行多查询时,MyBatis-Plus的查询构建器一般会帮助生成正确的SQL语句,但要保证查询条件逻辑正确,以及相关的之间有明确的关联关系定义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值