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的更多相关文章

  1. Mysql Workbench 执行sql语句删除数据时提示error code 1175

    error code 1175是因为有安全模式限制 执行命令SET SQL_SAFE_UPDATES = 0;之后可以进行操作

  2. 10.1(java学习笔记)JDBC基本操作(连接,执行SQL语句,获取结果集)

    一.JDBC JDBC的全称是java database connection java数据库连接. 在java中需要对数据库进行一系列的操作,这时就需要使用JDBC. sun公司制定了关于数据库操作 ...

  3. Shell脚本直接执行sql语句和不显示列名

    在shell脚本编程的时候,可以通过在mysql连接命令添加-N和-e参数实现查询结果不显示列名和直接执行sql语句操作 demo $(mysql -h ${HOST} -u ${USER} -p${ ...

  4. Python MySQLdb 执行sql语句时的参数传递

    使用MySQLdb连接数据库执行sql语句时,有以下几种传递参数的方法. 1.不传递参数 conn = MySQLdb.connect(user="root",passwd=&qu ...

  5. 三种执行SQL语句的的JAVA代码

    问题描述: 连接数据库,执行SQL语句是必不可少的,下面给出了三种执行不通SQL语句的方法. 1.简单的Statement执行SQL语句.有SQL注入,一般不使用. public static voi ...

  6. 解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集

    character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...

  7. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  8. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作

    http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...

  9. 使用BAT批处理执行sql语句的代码

    使用BAT批处理执行sql语句的代码 有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法 1.把待执行Sql保存在一个文件,这里为2011022 ...

随机推荐

  1. 【html、CSS、javascript-13】前端框架Bootstrap

    1.Bootstrap前端框架:包含css样式.js插件.图标等 http://www.bootcss.com/ 2.Font Awesome:非常全的图标大全 https://fontawesome ...

  2. 20190902+0903合集-NOIP模拟

    一直没时间写QwQ 于是补一下. Day 1 晚饭吃的有点恶心…… $1s\,2s\,5s$ 还开 -O2 ?? 有点恐怖. T1 猛的一想: 把外面设成一个点, 向入口连一条权为排队时间的边 从出口 ...

  3. linux查看现在在运行的进程 $ pstree -a$ ps aux

    这都是查看现有进程的. ps aux 的结果比较杂乱 pstree -a 的结果比较简单明了,可以看到正在运行的进程及相关用户.

  4. 【CODEVS】2833 奇怪的梦境

    2833 奇怪的梦境 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很 ...

  5. NPOI 1.0

    1 应用组件 using NPOI.SS.UserModel; using NPOI.HSSF.Util; 2.一个简单demo    2.1 定义单元格常用到样式的枚举 public enum st ...

  6. PHP 学习1.4

    1.session and cookie 示列: <?phpsession_start();?><!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  7. arcgis显示经纬度

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. golang context用法详解

    背景 在go服务器中,对于每个请求的request都是在单独的goroutine中进行的,处理一个request也可能设计多个goroutine之间的交互, 使用context可以使开发者方便的在这些 ...

  9. Lichee ( 四 ) 打包IMAGE

    在<Lichee(三) Android4.0的目标产品文件夹与Lichee的纽带---extract-bsp>中我们分析了extract-bsp的作用和意义.到这里,我们能够開始编译And ...

  10. ORACLE常用的环境变量

    ORACLE_HOME:将要安装oracle软件的目录,指向oracle二进制文件应该安装到的位置. ORACLE_BASE:主机服务器上用于oracle软件的顶级目录 ORACLE_SID:定义一个 ...