原因:我想通过自连接查询将一个表的两条数据放在一起,为此我重写了mp的分页查询

 IPage<Indi> selectIndiShow(IPage<Indi> page, @Param(Constants.WRAPPER) QueryWrapper<Indi> wrapper);

我又在xml中这样写mapper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.example.mapper.IndiMapper">
<resultMap id="mainIndi" type="com.example.entity.Indi">
<result property="lastMain Indi" column="a.indi_true/a.indi"/>
<result property="lastSubIndi" column="b.indi_true/b.indi"/>
<result property="name" column="name"/>
<result property="time" column="time"/>
<result property="id" column="id"/>
</resultMap>
<select id="selectIndiShow" resultMap="mainIndi">
SELECT a.id,a.name,a.time,a.indi_true/a.indi,b.indi_true/b.indi,a.ichange
FROM indiinfor a ,indiinfor b
WHERE a.mainOrsub=1 AND b.mainOrsub=0 AND a.name=b.name
</select>
</mapper>

一开始一切都好,后来我想添加一个模糊查询,天呐,wrapper居然不生效。我怎么调试都可以看到他的输入是多么的完美无瑕,逻辑紧密。可是!在控制台报的sql居然没有和queryWrapper任何相关的信息。可是明明

我使用sout都可以把他打印出来

    public IPage<Indi> selectSelf(Params params) {
IPage<Indi> page = new Page<>(params.getPageNum(), params.getPageSize());
QueryWrapper<Indi> queryWrapper = new QueryWrapper<>();
if(!StringUtils.isBlank(params.getName())){
queryWrapper.like("a.name",params.getName());
} return indiMapper.selectIndiShow(page, queryWrapper);
}

最后我将上面所有信息抛给chat询问,他告诉我,我重写的mapper里面没有使用querywrapper条件。在重写的xml中,我应该使用mp的ew(entity wrapper)来引用我的qw

ew是MyBatis Plus自动生成的一个参数,用于传递QueryWrapper中的条件信息

<select id="selectIndiShow" resultMap="mainIndi">
SELECT a.id, a.name, a.time, a.indi_true/a.indi, b.indi_true/b.indi, a.ichange
FROM indiinfor a, indiinfor b
WHERE a.mainOrsub=1 AND b.mainOrsub=0 AND a.name=b.name
<if test="ew != null">
<if test="ew.sqlSegment != null and ew.sqlSegment != ''">
AND ${ew.sqlSegment}
</if>
</if>
</select>

嘿,我使用了mp的自连接+分页查询之后,再使用条件查询居然失效了。的更多相关文章

  1. 分页查询关键代码 多条件查询关键代码 删除选中商品关键代码 修改要先回显再修改 修改要先回显再修改 同一业务集中使用同一servlet的方法

    分页查询关键代码: 通过servlet转发回来的各种信息进行分页的设计(转发回的信息有 分页查询的List集合 查询的页码 查询的条数 查询的数据库总条数 查询的总页码) 从开始时循环10次出现十个数 ...

  2. c# MongoDB分页辅助类,支持多条件查询

    创建一个获取MongoDB数据库实例的类 public class Db { private static IMongoDatabase db = null; private static reado ...

  3. 工作中遇到的oracle分页查询问题及多表查询相关

    在工作中,有时,我们会用到oracle分页查询.这时,就需要先了解oracle的rownum.rowmun是oracle的伪列,只能用符号(<.<=.!=),而不能用这些符号(>,& ...

  4. jqGrid jqGrid分页参数+条件查询

    HTML <div class="row"> <div class="col-sm-20"> <form id="for ...

  5. ajxa分页+多条件查询

    操作日志数据库表: 主页面: <script src="../fzl/jquery-1.11.2.min.js"></script> <script ...

  6. dhtmlxGrid分页查询,条件查询实例

    使用jquery的ajax get将页面条件请求到后台,取得数据库数据,分页查询,返回前台grid中. 引入所需文件: <script>window.dhx_globalImgPath = ...

  7. 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版

    一.前言 多条件查询分页以及排序  每个系统里都会有这个的代码 做好这块 可以大大提高开发效率  所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...

  8. C# MongoDB 查询,分组,聚合,排序,条件,分页

    先下载个C#的驱动.MongoDB提供各种主流与非主流预言的开发驱动. C# Driver 下载地址:这里 CSharp Driver Tutorial:这里 下载文件安装或者解压缩包 如果您是安装, ...

  9. 【JAVAWEB学习笔记】21_多条件查询、attr和prop的区别和分页的实现

    今天主要学习了数据库的多条件查询.attr和prop的区别和分页的实现 一.实现多条件查询 public List<Product> findProductListByCondition( ...

  10. Mybatis 的分页条件查询语句编写

    刚来到一家新公司, 翻看项目代码, 发现一位同事写的查询逻辑很好, 不用插件, 一个语句完成了分页条件查询. 而我之前一般都是在业务层对参数进行判断, 如果有条件,就调用条件查询的方法, 如果没有条件 ...

随机推荐

  1. rofi编译支持中文输入版本

    准备工作 git clone https://github.com/davatorium/rofi.git 根据网上的信息,rofi 中文输入主要是依赖 xcb-imdkit 这个库 当然我们是使用源 ...

  2. 前端使用 Konva 实现可视化设计器(12)- 连接线 - 直线

    这一章实现的连接线,目前仅支持直线连接,为了能够不影响原有的其它功能,尝试了2.3个实现思路,最终实测这个实现方式目前来说最为合适了. 请大家动动小手,给我一个免费的 Star 吧~ 大家如果发现了 ...

  3. C++笔记(12) 标准模板库STL

    STL提供了一组表示容器.迭代器.函数.函数对象和算法的模板.STL不是面向对象的编程,而是一种不同的编程模式--泛型编程. 容器:与数组类似的单元,可以存储若干个值,存储的值的类型相同: 算法:完成 ...

  4. codemirror-editor-vue3 编辑器只要换行保存就会有小红点

    先看示例 找了篇博客写的贼详细 https://blog.csdn.net/xujingyiss/article/details/118992763 只要设置这二个        let conten ...

  5. 【Socket】解决UDP丢包问题

    一.介绍 UDP是一种不可靠的.无连接的.基于数据报的传输层协议.相比于TCP就比较简单,像写信一样,直接打包丢过去,就不用管了,而不用TCP这样的反复确认.所以UDP的优势就是速度快,开销小.但是随 ...

  6. django跨域设置

    Django 跨域问题,解决前后端连接 CORS 1.安装 django-cors-headers pip install django-cors-headers 2.配置settings 在 INS ...

  7. == 和 equals 的区别是什么

    == : 它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不是同一个对象.(基本数据类型 == 比较的是值,引用数据类型 == 比较的是内存地址) equals() : 它的作用也是判断两个 ...

  8. StringRedisHelper

    @Slf4j @Service public class StringRedisHelper { private StringRedisTemplate redisTemplate; @Autowir ...

  9. python xlrd excel读取操作

    import xlrd wb = xlrd.open_workbook("test.xlsx") sheet1 = wb.sheets()[1] # 通过索引顺序获取 #table ...

  10. 阅读mmdetection3d框架的源码探索其构建dataset的流程

    在查看一些基于mmdetection3d构建的代码的时候,一开始会摸不着头脑,它的dataset到底是怎么构造的? 接下来就直接下载mmdetection3d这个仓库,然后去分析里面的代码. 可以看到 ...