java执行sql语句使用别名时显示Column '***' not found
java执行sql语句使用别名时显示Column ‘*’ not found
在做一个小项目时遇到个问题,执行sql语句使用别名时总是报sql异常 Column ‘*’ not found,折腾半天终于找到了原因,下面是具体的错误,如果大家遇到同样的问题在找解决方法,可直接跳过看最后的解决方法。
问题描述
我在本地使用的是java、mysql、tomcat
服务器上的数据库为MariaDB(完全兼容MySQL)
在服务器上MariaDB中建立test数据库,新建student表如下
执行sql语句 select name as id , age as StuAge from student 带有as设置别名
在本地发布工程,连接服务器上的数据库,可以正常执行
而把工程原封不动的发布在服务器上,却获得不了数据,查看日志报一下异常:
两次测试用的是同一个数据库,问题应该不会出在MariaDB的配置上,对此也做了个小验证:
正常获得数据,猜测没错。
那么,异常的原因肯定就出在tomcat的配置或服务器自身了,服务器是租的成熟的云服务器,问题应该不大。先从tomcat下手。
找了半天,终于发现了本地和服务器上的tomcat的不同,使用tomcat连接池,tomcat/lib下mysql-connector-java版本不同! 服务器上为5.1.14,本地为3.1.12。百度了下两个版本,确实有类似的问题!
解决方法一
简单粗暴,直接把服务器的驱动版本换为3.1.12(只测试过这个版本可行,其他不确定),去下载
解决方法二
在连接池配置中,url加以下内容:
…:3306/test?characterEncoding=UTF-8&useOldAliasMetadataBehavior=true
如图:
注意在xml中&要用&;代替,不能有空格!
亲测以上方法都可用!
参考https://www.2cto.com/database/201507/414486.html
原文地址:https://blog.csdn.net/qq_37969433/article/details/79849823
java执行sql语句使用别名时显示Column '***' not found的更多相关文章
- Mysql Workbench 执行sql语句删除数据时提示error code 1175
error code 1175是因为有安全模式限制 执行命令SET SQL_SAFE_UPDATES = 0;之后可以进行操作
- 10.1(java学习笔记)JDBC基本操作(连接,执行SQL语句,获取结果集)
一.JDBC JDBC的全称是java database connection java数据库连接. 在java中需要对数据库进行一系列的操作,这时就需要使用JDBC. sun公司制定了关于数据库操作 ...
- Shell脚本直接执行sql语句和不显示列名
在shell脚本编程的时候,可以通过在mysql连接命令添加-N和-e参数实现查询结果不显示列名和直接执行sql语句操作 demo $(mysql -h ${HOST} -u ${USER} -p${ ...
- Python MySQLdb 执行sql语句时的参数传递
使用MySQLdb连接数据库执行sql语句时,有以下几种传递参数的方法. 1.不传递参数 conn = MySQLdb.connect(user="root",passwd=&qu ...
- 三种执行SQL语句的的JAVA代码
问题描述: 连接数据库,执行SQL语句是必不可少的,下面给出了三种执行不通SQL语句的方法. 1.简单的Statement执行SQL语句.有SQL注入,一般不使用. public static voi ...
- 解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集
character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)
CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作
http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...
- 使用BAT批处理执行sql语句的代码
使用BAT批处理执行sql语句的代码 有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法 1.把待执行Sql保存在一个文件,这里为2011022 ...
随机推荐
- django模块安装环境变量
django 模块 一 安装: 方法一: (在 JetBrains PyCharm 2017.2 软件的) 设置 (里找到) 项目:python +(添加) (搜索) django Install p ...
- vmware 虚拟机有时候显示有网络访问,但是打不开网页的白痴解决办法
我遇到这种情况的原因是经常更换电脑连接方式(手机wifi.校园网有线网.校园网无线网.电信网.隔壁同学wifi网),所以ip经常变动,所以产生了解决此问题的方法 先连好网络-->打开编辑--&g ...
- PHP实现微信申请退款流程实例源码
https://www.jb51.net/article/136476.htm 目录 前期准备: 前面讲了怎么实现微信支付,详见博文:PHP实现微信支付(jsapi支付)流程 和ThinkPHP中实 ...
- file.length()方法返回0字节
本地调试ok 扔到服务器上就返回0 初步估测是因为使用jnotify监控文件修改事件的时候,刚好文件被重命名了(下载完成后xxx.tmp,被改成正确的后缀名) 2019-7-20:不是上边说的那个亚子 ...
- 007-使用python统计代码行数,空行以及注释
# 自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来 1.打开文件方法 1.1 以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符 f ...
- 洛谷P2258 子矩阵[2017年5月计划 清北学堂51精英班Day1]
题目描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵. 例如,下面左图中选取第2.4行和第2.4.5列交叉位置的元素 ...
- UE4物理模块(一)---概述与可视化调试
UE4.21前的版本采用的是NVIDIA的PhysX做为其默认的物理引擎,用于计算3D世界的碰撞查询与物理模拟.自4.21版本开始改物理调用接口,但这并不是闲来重构代码,果然在2019GDC大会上放出 ...
- Sublime Text Version 3.2.1(Build 3207)注册
Sublime Text Version 3.2.1, Build 3207 一. host添加地址 C:\Windows\System32\drivers\etc\hosts 127.0.0.1 l ...
- 微信小程序之组件的集合(一)
小程序中是很强调组件中开发的,我们看到的页面是由许多组件组成的,但是这些组件是如何组合在一起的呢?来学习一下! 一.组件中数据的获取 接着上一篇文章,继续来优化代码,如何把从服务器上获取的数据显示到 ...
- 第十章—DOM(0)—NODE类型
DOM1定义了一个node接口,该接口由DOM的所有节点类型实现. 所有的节点都存在这样或那样的关系.在HTML中,head,body可以看出是html的子元素,html是head,body的父元素, ...