工作遇到的问题:mybatis注解@Param和分页count

2023-10-27

mybatis注解@Param

基于mybatis注解写sql,出现了一个对象映射问题,一开始我没用@Param,因为当时只有一个入参所以没写springboot是能识别到的,但是我后来因为需求原因重写了方法加多了一个入参,就无法识别了

//实体类Student
@data
public class Student{
	private int id;
	private String name;
	private String age;
}

//例如写一个mapper方法
@Select("select s.id,s.name,s.age from student s where s.id = #{testId}")
Student selectStudentByTestId(Student student,int testId);

这样会报错,无法识别到testId,需要加上@Param注解

@Select("select s.id,s.name,s.age from student s where s.id = #{testId}")
Student selectStudentByTestId(@Param("student") Student student,@Param("testId") int testId);

这个时候是可以用的,但是如果你用了student里面的字段你就得带上名字,即

#{student.id}

分页Count

联表查询并且用到了聚合函数和group by的时候,需求需要,例如需要统计A表和B表关联字段最大值(A和B是一对多关系),直接count会出问题,他会返回好几条count给你,这样会报错,因为我们分页就是只要一个参数返回。

@Select("select count(1) from student s inner join dept d on d.id = s.dept_id where s.id = #{testId} group by s.id")
Student selectStudentByTestId(@Param("student") Student student,@Param("testId") int testId);

结果会返回多个count,这种情况咱们可以用子查询来避免

//Student类多一个deptName字段
@Select("select count(1) from (select s.id,s.name,s.age,max(d.deptName) from student s inner join dept d on d.id = s.dept_id where s.id = #{testId} group by s.id)")
Student selectStudentByTestId(@Param("student") Student student,@Param("testId") int testId);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

工作遇到的问题:mybatis注解@Param和分页count 的相关文章

  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • 如何在 Openfire 中使用 smack

    你好 我计划开发一个可以连接到 gtalk facebook 等的聊天客户端 我决定将 smack API 与 openfire 一起使用 但我需要很少的指导来了解如何将它与 openfire 服务器一起使用 openfire 是否提供了基
  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • Spring数据中的本机查询连接

    我有课 Entity public class User Id Long id String name ManyToMany List
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • 如何使用正则表达式验证 1-99 范围?

    我需要验证一些用户输入 以确保输入的数字在 1 99 范围内 含 这些必须是整数 Integer 值 允许前面加 0 但可选 有效值 1 01 10 99 09 无效值 0 007 100 10 5 010 到目前为止 我已经制定了以下正则
  • org/codehaus/plexus/archiver/jar/JarArchiver(不支持的major.minor版本49.0)-Maven构建错误

    下午大家 我在尝试构建项目时收到上述错误 我很确定这与使用 Java 1 6 编译的 Maven 最新更新有关 而我们尝试构建的项目是 1 4 项目 在此之前的插件工作没有问题 因此我将以下内容添加到 POM xml 文件中以尝试强制使用现
  • 添加到列表时有没有办法避免循环?

    我想知道这样的代码 List
  • 虽然我的类已加载,但 Class.forName 抛出 ClassNotFoundException

    代码如下 它的作用是加载我放在主目录中的 jar 文件中的所有类 import java io File import java util jar JarFile import java util jar JarEntry import j
  • 在 Java 中通过 XSLT 分解 XML

    我需要转换具有嵌套 分层 表单结构的大型 XML 文件
  • Java、Spring:使用 Mockito 测试 DAO 的 DataAccessException

    我正在尝试增加测试覆盖率 所以我想知道 您将如何测试 DAO 中抛出的 DataAccessExceptions 例如在一个简单的 findAll 方法中 该方法仅返回数据源中的所有数据 就我而言 我使用 Spring JdbcTempla
  • 在 Clojure 中解压缩 zlib 流

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • Java 的 PriorityQueue 与最小堆有何不同?

    他们为什么命名PriorityQueue如果你不能插入优先级 它看起来与堆非常相似 有什么区别吗 如果没有区别那为什么叫它PriorityQueue而不是堆 默认的PriorityQueue是用Min Heap实现的 即栈顶元素是堆中最小的
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向

随机推荐

  • 5 spring事件与监听器

    Spring的事件 1概述 ApplicationEvent以及Listener是Spring为我们提供的一个事件监听 订阅的实现 内部实现原理是观察者设计模式 设计初衷也是为了系统业务逻辑之间的解耦 提高可扩展性以及可维护性 2组成 Ap
  • android图片压缩上传

    一 调用webservice接口 传的参数是String类型的参数 需要把Bitmap转换为String类型 byte arrayOfByte CommUtil Bitmap2Bytes DangerPointSubmitActivity
  • 关于phpStudy的Less-26空格被过滤使用%a0变乱码无法执行应该带有空格的查询语句

    我的实验环境是 C phpStudy PHPTutorial WWW sqli labs master Less 26 练习sql inject 注入练习第26关 Less 26 输入的空格被过滤了 提示中明显指出select 和 1之间的
  • 腾讯云:MySQL数据库的高可用性分析

    作者介绍 易固武 腾讯高级工程师 参与腾讯账号安全建设 腾讯数据仓库 TDW 优化改造 腾讯云数据库等项目 对大规模分布式存储和计算系统有浓厚的兴趣和经历 MySQL数据库是目前开源应用最大的关系型数据库 有海量的应用将数据存储在MySQL
  • git pull出现Abort没有原因提示

    使用git pull更新时 出现文件冲突 将冲突文件解决后 再进行pull操作 出现abort 但是没有提示原因 这是由于直接在子文件夹下进行pull操作 而其他级别的文件夹下出现也出现文件冲突 而git发现了冲突但是由于不在当前目录下没有
  • 教你一招:解决u盘插入计算机时提示格式化,如何恢复u盘中的文件

    1 插入U盘时 计算机提示格式化 看到这里 到底是格不格呢 别怕 随便你了 2 查看U盘属性 发现都为零 怎么办呢 u盘上面有很多重要文件啊 别急 继续往下看 3 解决办法 1 下载DiskGenius硬盘恢复软件 安装后打开 软件官方下载
  • 招聘数据采集+数据清洗与分析+数据可视化

    1 需求 1 1 数据采集 1 网站解析 利用 chrome 查看网页源码 分析招聘网站网页结构 1 检查 招聘网站 在网页中右键点击检查 或者 F12 快捷键 进入 如下图的查看元素页面 示例图 1 2 检查网站 点击 Network 勾
  • oracle 9i下在线重定义表

    9i提供了联机重定义表的方法 可以让你在基本不影响原表的DML情况下修改表结构 实际上 联机重定义表并不是完全的联机重定义 在最后交换表名的时候会短暂地锁定原表和中间表 但这个过程很短暂 相对于传统方法来说 这是一个进步 9i提供了联机重定
  • 三千书源——愿成为整理最全的书源合集

    引言 古有弱水三千 今有三千书源 勿埋我心 三千大世界 三千书之源 随着 三千书源 渐渐变得充足起来 感谢收藏 希望可以多来看望勿埋我心 注意 现在主流是3 0书源 欢迎在评论区投稿不错的书源 软件下载 3 0 推荐使用 酷安 Github
  • MTSC2020

    MTSC2020中国互联网测试开发大会深圳站 于 2020 年 11 月 20 日至 21 日在深圳宝立方国际酒店召开 为中国质量保证行业奉上一场为期 2 天的技术盛宴 500 来自世界各地的测试精英们汇聚一堂探讨交流 来自阿里巴巴淘系技术
  • CTF新手题

    CTF Capture The Flag 是一种网络安全技能竞赛 它涉及到多个领域 如密码学 逆向工程 漏洞利用 Web安全等 每个比赛都会有多个题目 每个题目都有一个旗帜 玩家需要通过解决问题 攻击漏洞或破解密码等手段 获取旗帜并提交给比
  • MySQL最全面的优化技巧

    如果面试官问你 你会从哪些维度进行 MySQL 性能优化 你会怎么回答 所谓的性能优化 一般针对的是MySQL查询的优化 既然是优化查询 我们自然要先知道查询操作要经过哪些环节 然后思考可以在哪些环节进行优化 查询操作需要经历的基本环节 S
  • FBX SDK快速简笔(基本)

    FBX SDK快速简笔 摘至官方文档 因不开源 大部分地方官方文档中存在保密 以个人理解进行了一部分的推导 该文章免费并承诺不涉及如何利益 FBX模型的组织结构 FBX是以scene graph的结构来存储模型的所有信息 也可以认为是一个多
  • Weka内置特征选择算法整理

    属性评估方法 CfsSubsetEval 根据属性子集中每一个特征的预测能力以及它们之间的关联性进行评估 ChiSquaredAttributeEval 根据与分类有关的每一个属性的卡方值进行评估 ClassifierSubsetEval
  • Vue基础精讲 —— 详解Vue实例、Vue实例的属性和方法

    Vue实例 基本配置 在 build文件夹 下新建 webpack config practice js 配置文件 内容参考 const path require path const HTMLPlugin require html web
  • Flex4,textArea控件的htmlText属性

    它现在包含Text布局框架 Text Layout Framework TLF 而TLF可以作为许多 Spark text组件的基础 例如RichText RichEditableText TextArea和 TextInput等组件 以及
  • 突发奇想把云服务器刷成了黑群晖 ...

    大家好 我是鸟哥 一个半路出家的程序员 前两天准备把自己10年前买的戴尔电脑刷成黑群晖改造成一台家庭存储服务器 折腾了几天后结果把电脑刷成了蓝屏 彻底报废了 后来又突发奇想 准备把手头上的服务器刷成黑群晖 本以为是无法成功的事 结果却很顺利
  • Ubuntu安装Docker

    一 安装条件 1 操作系统要求 需要以下 Ubuntu 版本之一的 64 位版本 Ubuntu Kinetic 22 10 Ubuntu Jammy 22 04 LTS Ubuntu Focal 20 04 LTS Ubuntu Bioni
  • Oracle数据库预警信息阈值设置以及预警信息自动邮件发送到管理员邮箱

    当数据库处于不理想状态时 默认情况下会通过EM发出预警 也可以通过邮件发送给管理员 要设置电子邮件通知 可在EM上 1任何 Database Control 页中 单击页眉和页脚区中的 Setup 设置 链接 2 在 Setup 设置 页中
  • 工作遇到的问题:mybatis注解@Param和分页count

    目录 mybatis注解 Param 分页Count mybatis注解 Param 基于mybatis注解写sql 出现了一个对象映射问题 一开始我没用 Param 因为当时只有一个入参所以没写springboot是能识别到的 但是我后来