首页
学习
活动
专区
圈层
工具
发布

mybatis mysql 分页sql语句_使用mybatis分页查询并统计总数「建议收藏」

今天在优化项目的时候,偶尔发现了一种分页查询的方法。其目的是,在分页查询的同时查出数据总记录数并实现模糊查询功能。并且,在以往的分页查询上,如果要使用模糊查询,则模糊查询出来的总记录数可能出现问题。...xml文件 ① resultMap=”trainResultMap,count”注意: resultMap里有两个函数,第一个为多表关联的映射map的Id,第二个则是id为count的resultMap查询总记录数方法...首页通过默认条件查询数据并分页,并且提供模糊查询功能,且查询总记录数方法是在前一条sql语句基础上执行而成 service实现类 ① baseMapper.queryPageByStuId用于调用dao...② (List) list.get(0)用于取返回的函数map集合的第一个函数List集合 ③ ((List) list.get(1)).get(0)用于取返回函数map集合的第二个函数count数据总数...MybatisPlusConfig配置类中添加以下代码 MybatisPlusConfig.java 3 在数据源中添加以下代码 DynamicDataSourceFactory.java 支持多语句查询

3.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ERP中如何查询供应商明细

    对于应付会计,除了录入发票凭证外,分析供应商明细也是重要的日常工作。供应商开票明细有哪些?支付明细有哪些?尚未支付的款项有哪些?这在同供应商对账,或编制付款计划时有重要的意义。...本文介绍在SAP中如何查询供应商明细,报表路径如下。 FBL1N初始界面如下, FBL1N可以一次查询多个供应商的行项目,如果查询的供应商号段不连续,可以点击图标A,在多项选择中设置更多的查询条件。...普通项目:查看应付账款明细。 特别总账业务:查看预付账款、应付票据、其他应付款等明细项。 注释项目:查看备注项,即无余额更新的凭证明细。 预制项目:查看预制的明细。...客户项目:查看供应商对应客户的明细项。 输出清单:选择报表输出的格式。 根据如上条件,报表输出结果如下,显示内容为尚未支付的发票明细。...以上查询的是供应商未清发票明细,接下来按如下条件查看供应商已清明细。 报表输出如下, 凭证行的状态为绿色,表示已经清账,可以理解为款项已支付。

    3.2K10

    miniqmt交易封装增加成交明细查询

    这2天有同学在群里问qmt成交相关的细节, 我看了下之前的miniqmt代码 封装了 委托,没有封装成交明细, 趁着有空, 把之前的封装类 优化下, 增加 成交明细查询。...这样miniqmt交易封装包括了 1、miniqmt链接 2、查询资金账户 3、查询持仓 4、查询当日委托 5、查询成交明细 6、买 7、卖 这里说下4、5的区别, 比如你挂 某只股票 1200股,...那么成交明细就有2笔数据。 最近有同学问怎么区分买、卖, 正常情况下,买传递23, 卖传递24就可以了。 大家说一说,除了这些常用操作,miniqmt交易还有其他常用的操作么?...self.test_account_connection(): self.connected = True logger.info(" QMT连接和账户验证成功...测试查询功能...")

    43710

    MySQL——优化嵌套查询和分页查询

    ,是因为MySQL不需要在内存中创建临时表来完成这个逻辑上需要两个步骤的查询工作;并且Not exists表示MYSQL优化了LEFT JOIN,一旦它找到了匹配LEFT JOIN标准的行, 就不再搜索了...优化分页查询 在MySQL中做分页查询,MySQL 并不是跳过 offset 行,而是取 offset+N 行,然后返回放弃前 offset 行,返回 N 行,那当 offset 特别大的时候,效率就非常的低下...例如“limit 1000,20”,此时MySQL排序出前1020条数据后仅仅需要第1001到1020条记录,前1000条数据都会被抛弃,查询和排序的代价非常高。...通过索引覆盖在索引上完成扫描和排序(索引有序),最后通过主键(InnoDB引擎索引会通过主键回表)回表查询,最大限度减少回表查询的I/O次数。...总结 对于嵌套查询和分页查询的优化,归根结底就是遵循SQL优化原则之一——减少回表查询的I/O次数。对于分页查询优化,更建议使用第一种优化方案,性能更好,稳定性更高。 参考 《深入浅出MySQL》

    4.1K21

    MySQL(八)子查询和分组查询

    (实际上,MySQL执行了2个select操作),where子句中使用子查询,必须保证select语句具有与where子句中相同数目的列;   子查询一般与in操作符结合使用,但也可用于测试等于(=)、...格式化SQL:包含子查询的select语句一般相较来说阅读和调试更为不方便,特别是它比较复杂的情况下,因此把子查询分解为多行并且适当缩进,能极大的简化子查询的使用。...,orders是一个计算字段,由圆括号内的子查询建立,它对检索出的每个用户执行一次, 子查询中where子句它使用了完全限定表名,它告诉SQL比较orders表和usertable表中的user_id列...相关子查询(correlated subquery):涉及外部查询的子查询(任何时候只要列名可能存在多叉性,就必须使用这种语法[表名和列名有一个句点分隔])。...PS:使用子查询建立查询的最可靠方法是逐渐进行(首先建立最内层的查询,确认后用硬编码数据建立外层查询,由内到外) 二、组合查询 MySQL允许执行多个查询(多条select语句),并将结果作为单个查询结果集返回

    5.6K20

    MySQL索引和查询优化

    MySQL 中无法利用索引完成的排序操作称为“文件排序”,其实不一定是文件排序,内部使用的是快排。 using temporary:使用了临时表保存中间结果,MySQL 在对查询结果排序时使用临时表。...字段类型和编码 MySQL 返回字符串长度 CHARACTER_LENGTH(同CHAR_LENGTH)方法返回的是字符数,LENGTH 函数返回的是字节数,一个汉字三个字节。...MySQL 排序规则 一般使用 _bin 和 _genera_ci: utf8_genera_ci 不区分大小写,ci 为 case insensitive 的缩写,即大小写不敏感。...查看 SQL 进程和杀死进程 如果你执行了一个 SQL 的操作,但是迟迟没有返回,你可以通过查询进程列表看看它的实际执行状况。...超大分页 在慢查询日志中发现了一些超大分页的慢查询如 Limit 40000,1000,因为 MySQL 的分页是在 Server 层做的,可以采用延迟关联在减少回表。

    2.1K118

    Mysql慢查询和慢查询日志分析

    Mysql慢查询和慢查询日志分析 众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的。...第一步应该做的就是排查问题,找出瓶颈,所以,先从日志入手 开启慢查询日志 mysql>show variables like “%slow%”; 查看慢查询配置,没有则在my.cnf中添加,如下 log-slow-queries...     #表示记录下没有使用索引的查询 分析日志 – mysqldumpslow 分析日志,可用mysql提供的mysqldumpslow,使用很简单,参数可–help查看 # -s:排序方式。...【说明】 queries total: 总查询次数 unique:去重后的sql数量 sorted by : 输出报表的内容排序 最重大的慢sql统计信息, 包括 平均执行时间, 等待锁时间, 结果行的总数..., 扫描的行总数.

    7.1K10

    启用 MySQL 和 MariaDB 查询缓存

    其实 MySQL 和 MariaDB 都是支持“查询缓存”功能,并且启用MySQL查询缓存可以极大地减低数据库服务器的CPU使用率,实际使用情况是:开启前CPU使用率120%左右,开启后降到了10%。...查看查询缓存情况 mysql> show variables like '%query_cache%'; (query_cache_type 为 ON 表示已经开启) +---------------...(上面的 free_blocks和free_memory可以告诉您属于哪种情况) Qcache_not_cached:不适合进行缓存的查询的数量,通常是由于这些查询不是 SELECT 语句或者用了now...Qcache_queries_in_cache:当前缓存的查询(和响应)的数量。 Qcache_total_blocks:缓存中块的数量。...对于某些不想使用缓存的语句,可以这样使用: select SQL_NO_CACHE count(*) from users where email = 'hello'; 这个“查询缓存”算是 MySQL

    3.4K40

    mysql 多表查询和更新_MySQL update select 多表关联查询更新

    在遇到需要update设置的参数来自从其他表select出的结果时,需要把update和select结合使用,不同数据库支持的形式不一样,在mysql中如下: update A inner join(select...sql语句就如上所示 参考文章: * [UPDATE从SELECT使用SQL Server – 代码日志](https://codeday.me/bug/20170212/192.html) * [MySQL...多表关联UPDATE操作 – jsyandxys的博客 – CSDN博客](https://blog.csdn.net/jsyandxys/article/details/83584410) * [mysql...中update和select结合使用 – 404NotFound的博客 – CSDN博客](https://blog.csdn.net/qq_36823916/article/details/79403696...) * [MySQL – update 与 select 的相爱相杀 – 知乎](https://zhuanlan.zhihu.com/p/23011325) 发布者:全栈程序员栈长,转载请注明出处:https

    5.5K10
    领券