嘿,我使用了mp的自连接+分页查询之后,再使用条件查询居然失效了。
原因:我想通过自连接查询将一个表的两条数据放在一起,为此我重写了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的自连接+分页查询之后,再使用条件查询居然失效了。的更多相关文章
- 分页查询关键代码 多条件查询关键代码 删除选中商品关键代码 修改要先回显再修改 修改要先回显再修改 同一业务集中使用同一servlet的方法
分页查询关键代码: 通过servlet转发回来的各种信息进行分页的设计(转发回的信息有 分页查询的List集合 查询的页码 查询的条数 查询的数据库总条数 查询的总页码) 从开始时循环10次出现十个数 ...
- c# MongoDB分页辅助类,支持多条件查询
创建一个获取MongoDB数据库实例的类 public class Db { private static IMongoDatabase db = null; private static reado ...
- 工作中遇到的oracle分页查询问题及多表查询相关
在工作中,有时,我们会用到oracle分页查询.这时,就需要先了解oracle的rownum.rowmun是oracle的伪列,只能用符号(<.<=.!=),而不能用这些符号(>,& ...
- jqGrid jqGrid分页参数+条件查询
HTML <div class="row"> <div class="col-sm-20"> <form id="for ...
- ajxa分页+多条件查询
操作日志数据库表: 主页面: <script src="../fzl/jquery-1.11.2.min.js"></script> <script ...
- dhtmlxGrid分页查询,条件查询实例
使用jquery的ajax get将页面条件请求到后台,取得数据库数据,分页查询,返回前台grid中. 引入所需文件: <script>window.dhx_globalImgPath = ...
- 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版
一.前言 多条件查询分页以及排序 每个系统里都会有这个的代码 做好这块 可以大大提高开发效率 所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...
- C# MongoDB 查询,分组,聚合,排序,条件,分页
先下载个C#的驱动.MongoDB提供各种主流与非主流预言的开发驱动. C# Driver 下载地址:这里 CSharp Driver Tutorial:这里 下载文件安装或者解压缩包 如果您是安装, ...
- 【JAVAWEB学习笔记】21_多条件查询、attr和prop的区别和分页的实现
今天主要学习了数据库的多条件查询.attr和prop的区别和分页的实现 一.实现多条件查询 public List<Product> findProductListByCondition( ...
- Mybatis 的分页条件查询语句编写
刚来到一家新公司, 翻看项目代码, 发现一位同事写的查询逻辑很好, 不用插件, 一个语句完成了分页条件查询. 而我之前一般都是在业务层对参数进行判断, 如果有条件,就调用条件查询的方法, 如果没有条件 ...
随机推荐
- OpenCV笔记(7) 轮廓
1. 查找轮廓 FindContours public static void FindContours(InputOutputArray image, //输入8-bit单通道的图片 out Mat ...
- 第一次至第三次PTAJava大作业分析
(1)前言: 三次题目集的知识点: 正则表达式(Regular Expression,简称Regex或RegExp)是一个强大的文本处理工具,用于匹配.查找和替换字符串.以下是正则表达式的主要知识点总 ...
- xv6 的锁机制
LOCK 公众号:Rand_cs 锁,大家应该很熟悉了,用来避免竞争,实现同步.本文以 xv6 为例来讲解锁本身是怎么实现的,废话不多说,先来看一些需要了解的概念: 一些概念 公共资源:顾名思义就是被 ...
- LeetCode 688. Knight Probability in Chessboard “马”在棋盘上的概率 (C++/Java)
题目: On an NxN chessboard, a knight starts at the r-th row and c-th column and attempts to make exact ...
- 编程语言界的丐帮 C#.NET 国密数字信封 民生银行
民生银行的库DLL只有C版本和JAVA版本.按着JAVA版本做的C# 实现. 重点内容. 1.数字信封就是 CmsEnvelopedData Der编码后转BASE64 2.重点类:ContentIn ...
- 三月二十四日 安卓app打卡开发日志
目前打卡系统基本完成 没有实现的功能有无法统计次数 和 连接本地数据库 我全程连接的远程数据库 package com.example.test_four.utils; import java.sql ...
- windows rabbitmq安装
windows rabbitmq安装1.环境变量,关键是rabbitmq_server需要与erlang版本对应,否则无法使用. rabbitmq下载页https://github.com/rabbi ...
- k8s使用rbd作为存储
k8s使用rbd作为存储 如果需要使用rbd作为后端存储的话,需要先安装ceph-common 1. ceph集群创建rbd 需要提前在ceph集群上创建pool,然后创建image [root@ce ...
- 将强化学习重新引入 RLHF
我们很高兴在 TRL 中介绍 RLOO (REINFORCE Leave One-Out) 训练器.作为一种替代 PPO 的方法,RLOO 是一种新的在线 RLHF 训练算法,旨在使其更易于访问和实施 ...
- QT学习:07 字符编码的问题
--- title: framework-cpp-qt-07-字符编码的问题 EntryName: framework-cpp-qt-07-char-coding date: 2020-04-13 1 ...