Spring jdbcTemplate() 预编译SQL 查询Mysql timestamp字段不返回结果

J2EE 码拜 10年前 (2015-04-22) 3576次浏览 0个评论

Mysql 版本5.5 InnoDB引擎
Spring 版本3.2
update_time字段类型:imestamp

Object[]obj={updateTime};
String sql=select * from xxx where update_time>?

Object[]obj={updateTime};
String sql=select * from xxx where update_time>?
用的是spring的 getJdbcTemplate().queryForList(sql,obj);
使用预编译语句时 语句一直执行不返回结果,卡死在query这里,也不报错, show processlist 也看不到SQL在执行。
而改成
String sql=select * from xxx where update_time>””1111-11-44″” 这样就没问题。
getJdbcTemplate().queryForList(sql);

之前是mysql5.1  mysiam引擎没有问题。。。。升级了Mysql后出现了这个问题。
求解。

Spring jdbcTemplate() 预编译SQL 查询Mysql timestamp字段不返回结果
90分
升级了MySql以后,你的JDBC包mysql-connector-java.jar(驱动包具体叫什么我记不住了,反正就是Mysql的驱动)也要跟着更新,数据库版本高,而数据库驱动版本低的时候,就会出现你说的这种卡住的状态,我以前出现过,后来替换了驱动就好了
Spring jdbcTemplate() 预编译SQL 查询Mysql timestamp字段不返回结果
10分
没遇见过,不过如楼上说的,估计实现方法修改了。还是升级吧
Spring jdbcTemplate() 预编译SQL 查询Mysql timestamp字段不返回结果

不会a….

Spring jdbcTemplate() 预编译SQL 查询Mysql timestamp字段不返回结果
引用 1 楼 lwb314 的回复:

升级了MySql以后,你的JDBC包mysql-connector-java.jar(驱动包具体叫什么我记不住了,反正就是Mysql的驱动)也要跟着更新,数据库版本高,而数据库驱动版本低的时候,就会出现你说的这种卡住的状态,我以前出现过,后来替换了驱动就好了

嗯。升级后OK了。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Spring jdbcTemplate() 预编译SQL 查询Mysql timestamp字段不返回结果
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!