技术标签: java mybatis java开发常遇问题 数据库
由于xml中写了一个多表关联的sql语句,并且是多对多,导致查询出来的是有自己不需要的重复语句,更坑的是,可能sql自己写得澜,去重功能distinct和order by在特殊条件下不能同时使用,报错:Expression #1 of ORDER BY clause is not in SELECT list, references column ‘fusion.m.create_time’ which is not in SELECT list; this is incompatible with DISTINCT,所以我是把所有数据查询出来之后,自己做了一个去重,再进行分页,如果使用插件的分页,一开始就会把分页设置传入进去,出来的时候分页是带重复的数据,这个时候去重,页面显示出来的就没有一开始传入的分页参数这么多,比如每页需要显示20条,这个时候就只剩10条了
1 分页方法
package com.dz.fusion.support.common;
import java.util.ArrayList;
import java.util.List;
/**
* @Author suolong
* @Date 2022/7/6 19:05
* @Version 2.0
*/
@Data
public class PageUtils<T> {
private List<T> pages; //数据
private long totalCount; //总数
private int pageIndex; //当前页
private int totalPages; //总页数
/**
* <p>分页方法</p>
* <p>参数(当前页码,每页行数)</p>
* <p>返回 pages 数据</p>
* <p> totalCount 总数</p>
* <p> pageIndex 当前页</p>
* <p> totalPages 总页数</p>
*/
public PageUtils(int pageIndex, int hang, List<T> pages) {
int fist = pageIndex * hang - hang; //获取当前页的第一行下标
int last = pageIndex * hang; //获取当前页的最后一行下标+1
if (last > pages.size()) last = pages.size();
List<T> page = new ArrayList<T>();
for (int s = fist; s < last; s++) {
page.add(pages.get(s));
}
this.pages = page; //分页数据
this.totalCount = pages.size(); //总行数
this.pageIndex = pageIndex; //当前页
this.totalPages = (int) Math.ceil((float) pages.size() / hang); //总页数
}
}
2 使用方式
List<User> list= baseMapper.selectList();
PageUtils<User> userPages = new PageUtils<>(页码, 每页行数, list);
long totalCount = userPages.getTotalCount(); //总行数
List<User> records = userPages .getPages(); //每页的数据
作为程序员第 197 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …
文章浏览阅读933次。1,创建插入符:void CreateSolidCaret( int nWidth, int nHeight );//创建插入符void CreateCaret( CBitmap* pBitmap );//创建位图插入符void ShowCaret( );//显示插入符void HideCaret( );//隐藏插入符static void PASCAL SetCaretPos( POINT po
文章浏览阅读1k次。2019年CVPR一共收到创纪录的5165篇有效投稿,比2018年的3309篇多出近2000篇,最终有1294篇论文被接收,最终录取率为25.2%。1294篇录取论文中,有288篇被录用为Oral论文。现在,距离2020年CVPR的截稿还剩整整一个月,在这种紧迫的时间里,2019CVPR的快读就处于比较尴尬的位置。但是无论怎样也用这篇博客预祝伙(大)伴(佬)们Paper都中!都中!全都中!!! 附...
文章浏览阅读2.2w次,点赞13次,收藏56次。项目上需要做设备的远程升级更新程序,从而避免每次更新程序时都需要去现场烧录的麻烦。从而学习探索了RT提供的OTA功能。 RT-Thread 开发团队提供了通用的 Bootloader。开发者通过该 Bootloader 即可直接使用 RT-Thread OTA 功能,轻松实现对设备端固件的管理、升级与维护。" 引用于官方资料文档。 主要参考资料: 1.官方文档资料ht..._rtthread 如何远程升级
文章浏览阅读1.4k次。JSON格式是一种用途广泛的对象文本格式。在Go语言中,结构体可以通过系统提供的json.Marshal()函数进行序列化。为了演示怎样通过反射获取结构体成员及各种值的过程,下面使用反射将结构体序列化为文本数据。数据结构及入口函数将结构体序列化为JSON的步骤如下:准备数据结构体。 准备要序列化的结构体数据。 调用序列化函数。具体代码如下所示:funcmain(){//声明技能结构typeSkillstruct{NamestringLevelint}//声明角色结构typeActor_结构体序列化为json
文章浏览阅读191次。如何更快速地掌握FFmpeg1.为什么要学FFmpeg2.FFmpeg面向对象思想分析3.ffplay、ffmpeg命令如何编程实现4.流媒体服务器要怎么学【技术分享篇】音视频开发——如何快速学习FFmpeg丨ffplay、ffmpeg命令如何编程实现更多Linux服务器开发高阶完整视频分享,点击链接即可观看:https://ke.qq.com/course/417774?flowToken=1013189内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Red_ffplay编程
文章浏览阅读138次。最近在找工作,突然意识到技术博客的重要性了其实,如果推行SVN的化,可能推行的难度会降低很多。不过lark说既然推行一个新的版本管理工具,总要花费一定的时间进行培训、部署、转换。而推行Git和SVN的代价不如想象中差距那么大。因此,不如就多花些精力推行Git , 可以带来更多的好处。 这个想法说服了我。 然后就开始筹备了。我发现网上很多git教程对一些基础命令(比如git-reset)的介绍还_git 断开版本控制
文章浏览阅读136次。导读1.单例模式2.迭代模式单例模式单例模式迭代模式代码链接
文章浏览阅读3.7k次。阿里云服务器如何防DDOS攻击?下面小编就为大家介绍下阿里云服务器如何防DDOS攻击方法/步骤 首先登陆阿里云控制台,点击左侧的产品与服务 点击DDOS基础防护进入云盾-DDOS基础安全控制台里面 这里我们可以看到你的基础DDOS防护能力,这个能力是可以通过一系列手段提升的,包括你的安全信誉分,阿里云整体带宽利用率,购买防护包等等 点击左侧..._阿里云服务器网站防攻击
文章浏览阅读146次。On running a windows phone project in VS 2012, I was getting this error:{System.IO.FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyT...
文章浏览阅读748次。A. Greedtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputJafar has n cans of cola. Each can is described by two integers: remaining volume of cola ai and can's capacity bi (ai ≤ bi).Jafar has de_codeforce 446div2
文章浏览阅读946次,点赞2次,收藏2次。Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上_zjoi 2256
文章浏览阅读239次。一、XML语言1、什么是XML语言?Extensible Markup Language,翻译为可扩展标记语言。Xml技术是w3c组织发布的,目前遵循的是W3C组织在2000年发布的XML1.0规范。2、XML语言用语解决什么类型的问题?xml语言出现的根本目标是,描述有关系的数据。在xml语言中,允许用户自定义标签。一个标签用于描述一段数据,一个标签可以分为开始标签和结束标签,子啊开始标签和结束标签之间,又可以使用其他标签米啊搜狐其他数据,以此来实现数据关系的描述。3、xml语言常见应用x_java xml中的翻译