Packet for query is too large (84 > -1).

windows下的resin配置连接mysql,常用的安全的做法是将数据库信息配置到conf目录下的resin.xml文件中。

因为resin连接mysql不是必须的,所以resin本身没有提供mysql-connector的jar包,需要自己加到resin目录下的lib里面,我加了个mysql-connector-java-5.1.45-bin.jar进去,然而在运行工程执行数据库查询操作的时候,却出现了问题,报如下错误:

    org.springframework.dao.TransientDataAccessResourceException: SqlMapClient operation; SQL [];   
    --- The error occurred while applying a parameter map.  
    --- Check the T_USER_INFO.selectByMap-InlineParameterMap.  
    --- Check the statement (query failed).  
    --- Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (84 > -1). You can change this value on the server by setting the max_allowed_packet' variable.; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
    --- The error occurred while applying a parameter map.  
    --- Check the T_USER_INFO.selectByMap-InlineParameterMap.  
    --- Check the statement (query failed).  
    --- Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (84 > -1). You can change this value on the server by setting the max_allowed_packet' variable.

只进行查询却出现Packet for query is too large,而且查询的条件只有几个字母,网上搜了很多解答,都是说需要把mysql的max_allowed_packet参数调大,但是我通过show VARIABLES like '%max_allowed_packet%';查询的结果也很大,如果是参数过小,应该是提示大于数据库中设置的packet的值,而不应该报-1。

最后发现有个帖子说是mysql-connector-javajar包的版本问题,版本不能太高,随后我将mysql-connector-java-5.1.45-bin.jar换成mysql-connector-java-5.1.26-bin.jar,不再出现packet错误,问题解决。

可能是因为我用的是ibatis2.0版本的缘故,不支持太高的mysql连接jar版本,换成mysql-connector-java-5.1.40以下版本即可解决Packet for query is too large (84 > -1)问题。

转载于:https://www.cnblogs.com/liuzhilong/p/wonderomg.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值