allowMultiQueries 设置为true不生效问题
- 因为之前项目在啊做分页查询时用到allowMultiQueries,在一个select标签下一次执行两次查询,一次查数据,一次查总数,避免了多次查询操作
- 这次在设置了allowMultiQueries=true 的情况下,始终得不到两个查询的结果,每次只有一个查询的结果。
- 研究了很久,最后发现是因为版本问题。而且测试方法不正确。
- 使用mysql版本5.7,mysql-connector-java版本原来是5.1.6 后来改为5.1.45才可以。
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.45</version></dependency>
- 测试方法如下:
public static void main(String[] args) {testAllowMultiQueries();}public static void testAllowMultiQueries() {String str1 = "select SQL_CALC_FOUND_ROWS * from config \r\n"+ "where 1=1 and is_del = 0 limit 0, 10 ;";String str2 = "SELECT found_rows() AS sumCounts;"; // String str3 = "select * from config;";try {Class.forName("com.mysql.jdbc.Driver").newInstance();String dbURL = "jdbc:mysql://localhost:3306/test?allowMultiQueries=true";String dbuser = "test";String dbpassword = "111100";Connection theConnection = (Connection) DriverManager.getConnection(dbURL, dbuser, dbpassword);Statement theStatement = theConnection.createStatement();boolean hasMoreResultSets = theStatement.execute(str1 + str2);ResultSet theResult;int count = 0;while (hasMoreResultSets) { // 通过next来索引:判断是否有下一个记录theResult = theStatement.getResultSet();while (theResult.next()) {if (count == 1) {System.out.println(theResult.getString(1));continue;}long id = theResult.getLong(1); // 方法:int java.sql.ResultSet.getInt(int columnIndex) throws// SQLExceptionString name = theResult.getString(2);String description = theResult.getString(3);System.out.println("id=" + id + ",name=" + name + ",description=" + description);}count++;hasMoreResultSets = theStatement.getMoreResults();}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}
allowMultiQueries 设置为true不生效问题相关推荐
- springcloudAlibaba设置allow-bean-definition-overriding=true不生效问题解决
背景 有个新项目需要启动. 因为有部分业务的请求相对来讲比其它的要强的多. 而且还受到第三方的影响较深 基于这种情况,微服务的使用方式就提上了日程. 原来两年前的微服务架构,考虑到技术的变化,就准备升 ...
- $(‘input‘).checked = true不生效 checked为undefined
$('input').checked = true不生效 设置input的checked 不生效,并且获取checked 值为undefined 这是因为当前input没有checked 属性,需要设 ...
- poi生成excel时换行符(\n)只有鼠标双击才会生效,设置列宽度不生效
1.poi生成excel时换行符(\n)只有鼠标双击才会生效 解决:样式中打开自动换行style.setWrapText(true); 2.设置列宽度不生效sheet.setDefaultColumn ...
- linux设置ulimit值永久生效
linux设置ulimit值永久生效 小知识的积累,转自 http://hi.baidu.com/moonelf9989/blog/item/1deadf12780fa0c5c2fd789d.html ...
- R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数
R语言merge函数全连接dataframe数据(Full (outer) join).merge函数进行全连接必须将参数all设置为true(all=TRUE).默认merge函数通过公共列名合并数 ...
- pandas重置dataframe的索引(reset_index)、如果索引不匹配dataframe操作时候的问题、重置索引(不设置drop=true)远索引生成新的数据列
pandas重置dataframe的索引(reset_index).如果索引不匹配dataframe操作时候的问题.重置索引(不设置drop=true)远索引生成新的数据列 目录
- oracle 判断是否错误_Oracle中的并行系列(二):你设置的并行真的生效了吗?...
作者 刘金龙·沃趣科技高级数据库技术专家 出品 沃趣科技 经过第一篇文章<Oracle 中的并行系列(一)>的介绍,我们对Oracle中的并行有了大致的了解.但是实际使用并行的过程中我 ...
- jqGrid的autoencode参数设置为true在客户端可能引发的编码问题
不久前使用jqGrid+MVC做过一段时间开发. 一开始,分页参数几乎都是默认值,jqGrid的分页功能很好用. 考虑到each input is evil,我们的系统对安全性又有较高要求,所以,为了 ...
- jdbc mysql user_tab_comments_mysql/jdbc:设置useInformationSchema=true读取表注释信息(table_comment)...
问题描述 今天在读取表的注释信息(COMMENT)时,发现返回的REMARKS字段返回居然是null. 以下是代码示例: DatabaseMetaData meta = this.pConnectio ...
最新文章
- swift3.0之闭包
- windows dos/cmd常用命令
- 得到Android设备的唯一id
- matlab统计矩阵元素的出现次数
- Java进阶高级程序员必备:深入浅出springboot+深入Java虚拟机
- centos有用的命令
- 中国行动成功学创始人李践
- mac matlab安装libsvm
- maven配置私服后Cannot download sources, 无法下载源码
- Matlab:搭建神经网络
- 分享几个软件测试逻辑思维和综合面试题
- python方法怎么调用_python函数怎么调用自身?
- 纯css三层侧边栏效果
- launch 文件解析
- Windows 10 21H1 官方正式版下载
- 黑魂3无法从服务器获取信息,黑魂3怎么读取信息 | 手游网游页游攻略大全
- 国内主流云厂商下一代云主机最大可售卖384核
- OCR手写文字怎么识别
- window修改host文件
- 2004十大网络流行语”已评出 做人要厚道排第一
热门文章
- 2020-12-16 今日学习Date类
- Map.of、List.of、Set.of是什么意思
- vivo S16,一个美丽又“温柔”的姑娘
- 六月计算机应用基础考试是啥,2017年6月计算机应用基础试题及答案
- android文件下载功能实现,Android中DownloadManager实现文件下载实例详解
- .NET OCX开发
- 剪贴板中图片转为BASE64格式
- python unicode 标点范围_Unicode 编码 范围
- 国家公务员局提醒考生:所谓命题专家不可信-公务员-国考
- 以前端的角度出发做好SEO需要考虑什么