ssh整合出错经典

SSH 项目整合所需要的全部jar 包 SSH框架:Struts2.、hibernate、spring。 该三大框架都可以到官网下载 : Struts2: http://struts.apache.org/download.cgi hibernate:http://hibernate.org/ spring:http://projects.spring.io/spring-framework/非 阅读详情
   现在好多公司都是用ssh做开发,不管是ssh1还是ssh2,我觉得难度都差不多,和以往开发不同的是我们把数据源交给spring管理,我们使用的数据源是通过依赖注入的。因此在做开发的时候注入不成功也是常有的事情,还有什么数据源配置不合理,都会引发一系列的问题,使用时就要考虑到这些。前几天做开发的时候出现了个异常,把我差点搞死了。下面看下这个异常;
org.hibernate.exception.GenericJDBCException: could not execute query
	at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	at org.hibernate.loader.Loader.doList(Loader.java:2536)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
	at org.hibernate.loader.Loader.list(Loader.java:2271)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452)
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
	at org.lxh.impl.ClassBean.findAllClass(ClassBean.java:30)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at $Proxy9.findAllClass(Unknown Source)
	at unittest.Test.getAllClass(Test.java:107)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.sql.SQLException: Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
	at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1169)
	at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:693)
	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1266)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
	at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
	at org.hibernate.loader.Loader.getResultSet(Loader.java:1953)
	at org.hibernate.loader.Loader.doQuery(Loader.java:802)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.doList(Loader.java:2533)
	... 43 more


“could not execute query”也就是“不能执行查询”,产生这个错误有这么2种情况:1.hql语句有错误。2.数据库编码和所开发的项目使用的编码不一致

知道异常产生的原因,问题就好解决了,对于mysql建议使用GBK编码,这个是最合适不过了。看这个异常的根本原因就是编码不匹配造成的,当数据库的编码是GBK的时候,spring的配置文件应该这么写

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url"
			value="jdbc:mysql://localhost:3306/design?useUnicode=true&characterEncoding=GBK" />
		<property name="username" value="root" />
		<property name="password" value="123456" />
			<!-- 连接池启动时的初始值 -->
		<property name="initialSize" value="1" />
		<!-- 连接池的最大值 -->
		<property name="maxActive" value="100" />
		<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
		<property name="maxIdle" value="30" />
		<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
		<property name="minIdle" value="1" />
        <property name="maxWait" value="10000" />
	</bean> 


如果characterEncoding设置成了UTF-8,如果你的程序这么写if("tom".equals(你使用hibernate查询出来的数据)),那么这个异常就很有可能产生了,解决的办法就是:

1.把数据库的编码改回来(成功的几率不大)

2.修改配置文件(95%的成功率)

到这里异常解决了,有问题的可以和我交流。

IDEA类和方法注释模板设置(非常详细) 阅读详情

相关推荐

Unity 数字孪生实战:PiXYZ Plugin工业模型高效处理指南

本文是Unity数字孪生实战指南,重点介绍了如何使用PiXYZ Plugin高效处理工业CAD模型。针对工业模型导入Unity时面临的格式壁垒、数据爆炸和资产混乱等核心痛点,文章提供了从环境安装、基础导入到智能减面、资产清理的完整解决方案,并分享了预设自动化、运行时导入等高级技巧与性能优化策略,帮助开发者快速打通工业设计与实时交互流程。

weixin_29009501的博客 255

Spring2.5.6整合hibernate3遇到的异常3

最近做ssh的整合,第一次整合,不出意外的碰到了很多问题。 碰到了很多异常,为了以后查找方便,还有其他朋友碰到时查找的方便,我直接把异常复制。然后解决方法也写在下面。 关键异常描述,用红色加粗表示。其他的基本不用看。 org.hibernate.exception.GenericJDBCException: Cannot open connection

姚老板的黑店 1619

贝莱德(BlackRock)—— 阿拉丁(Aladdin)平台的 AI 赋能升级

全称(资产、负债、债务与衍生品投资网络),是贝莱德自主研发的一体化投资管理与风险管理技术平台,被誉为全球资管行业的 “

xm_mm的博客 1723

hibernate连接异常

 Exception in thread "main" org.hibernate.exception.GenericJDBCException: Cannot open connection at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103) at

thamsyangsw的专栏 1131

Verilog实现FIR滤波器

1、FIR滤波器简介 不追究FIR滤波器的深层含义,我们只关注如何实现;可以看出,FIR滤波器的本质就是延迟、系数相乘与求和,如下图: 2、设计 基于以上分析,按照三级流水实现FIR滤波器设计:信号延迟-系数相乘-求和 `timescale 1ns / 1ps module fir( input clk, input rst_n, input [3:0]din, output reg [9:0]dout ); // data reg reg [3:0]din1; reg [3:.

CLL_caicai的博客 1万+

[ESP32S3N16R8][LVGL8.3.0][IDF5.2.3]ST7701S RGB屏幕驱动[vscode最详细配置]

ST7701S ESP32S3 基于ESP-IDF5.2.3编写,编程环境为vscode。本教程详细讲述了esp32s3配置st7701s屏幕驱动以及gt911触摸驱动并关联到lvgl8.3.0,使用IDF5.23示例rgb_panel进行测试删除了其里面的屏幕驱动,改为单独编写屏幕和触摸驱动,最后完成了实列。

qq_44022379的博客 2604

java hibernate事务处理_Hibernate事务处理

抛异常的代码:((Long) getHibernateTemplate().iterate(query).next()).intValue() 异常信息:Caused by: org.hibernate.exception.GenericJDBCException: could not get next iterator resultat org.hibernate.exception.SQLSt...

weixin_39930748的博客 294

海康威视iVMS-4200在银河麒麟系统部署全攻略与疑难排解

在信创国产化进程中,软件兼容性是关键挑战之一。以安防监控领域广泛使用的海康威视iVMS-4200客户端为例,其从Windows环境迁移到银河麒麟等国产操作系统时,面临架构适配、依赖库匹配等核心兼容性问题。这涉及到跨平台软件部署的通用原理:不同CPU架构(如ARM的飞腾、x86的兆芯)和操作系统底层API的差异,要求软件必须进行针对性编译和优化。解决这类问题的技术价值在于保障专业软件在国产化环境中的稳定运行,是信创产业落地的重要环节。具体到应用场景,如在基于银河麒麟V10的安防监控项目中,通过获取对应架构的.

weixin_33423874的博客 1416

关于GenericJDBCException的问题

在spring和hibernate整合的初步阶段,还没有编辑hibernate.cfg.xml这个文件,只有一个beans.xml文件。此时遇到了一个bug。 Exception in thread "main" org.hibernate.exception.GenericJDBCException: could not insert: [com.test.model.User] a...

baixiao9898的博客 754

【思考模型框架】前景理论(Prospect Theory),认为人们并不是完全理性的决策者,而是根据一些心理上的偏差来评估选项的价值

前景理论,是一种行为经济学理论。前景理论,描述了人们在不确定条件下如何作出决策。前景理论,认为人们并不是完全理性的决策者,而是根据一些心理上的偏差来评估选项的价值。

奶爸的编程之路,也就一周冷个三天 1642

【数据集】基于ubESTARFM法的100m 地温LST数据集(澳大利亚)

【数据集】基于ubESTARFM法的100m 地温LST数据集(澳大利亚)

WW、forever的博客 265

Hibernate operation: could not insert异常

org.hibernate.exception.GenericJDBCException: could not insert: [com.insigma.pojo.TblAdvertAddress]     at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java

qiutian1990的专栏 6173

Android Framework SurfaceFlinger面试题及参考答案

请简述 SurfaceFlinger 在 Android 系统中的作用。 SurfaceFlinger 是 Android 系统中一个非常关键的服务。它主要负责将多个应用程序的 Surface 合成到一个屏幕显示内容中。 从应用程序的角度来看,每个应用都有自己的 UI 界面,这些 UI 界面实际上是由一系列的图层(Surface)构成。例如,一个应用可能有背景图层、按钮图层、文本图层等。应用通过向 SurfaceFlinger 提供这些 Surface 来请求显示。 SurfaceFl

大模型大数据攻城狮的专栏 1183

关于SSH整合所遇到的坑

记录SSH整合所遇到的坑本文的内容持续更新 一号坑:struts2继承json-default会出错 二号坑:莫名其妙的找不到类 三号坑:spring和struts2整合 四号坑:没网启动失败,提示XML找不到文档 五号坑:ssh传输乱码 六号坑:Hibernate的select出错 七号坑:Java Date数据类型格式化换转化为json 一号坑:struts2继承json-default会出错在

冰糖的博客 825

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SSH整合中出错解决

SSH整合中出现的错误 先总结如下 1.       出现如下的错误 Error creating bean with name sessionFactory defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested excepti

程序猿DD 1504

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SSH框架整合总结

以下是我个人学习的总结,欢迎各位大神指正。此次SSH框架整合用到的各框架版本号是struts-2.5.13,hibernate-5.2.16.Final,spring-4.3.16。1、首先导入各个框架需要的jar包,我觉得最重要的就是jar包问题(应注意使用哪个版本的框架就使用那个版本中的jar包,不要混着用,容易出错。每隔一个大的版本,有些配置文件中也有一些差别,后面会提到)struts2: ...

IT______Rookie的博客 338

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

vscode remote ssh 连接出错

vscode remote ssh 连接出错 问题: 连接远程服务器,显示 试图写入管道出错 解决方法,手动配置 ssh.path 的 路径 git bash 命令行 敲入 where ssh ,选择 git 自带的 ssh 在 settings.json 中配置 ssh 的路径 "remote.SSH.path": "F:/software/region0/scoop/apps/git/2.36.1.windows.1/usr/bin/ssh.exe", ...

LYR 的博客 497

SSH框架整合

SSH(Spring Struts2 Hibernate) SSH(Spring Springmvc Hibernate) Struts2负责web层 Hibernate负责Dao层 SSH框架整合思路就是将Struts2的对象(Action)和Hibernate的对象(Session sessionFactory)交给Spring容器管理,并且Spring还要管理service。 整合步骤: 搭...

M_ing_的博客 255

Spring之SSH整合

简介: ssh为 struts+spring+hibernate的一个集成框架,是一种Web应用程序开源框架。 前段时间的博客分别介绍了Struts、Spring、Hibernater这几大框架,今天就来把框架整合一下 1.SSH整合的思路步骤 web+spring+struts+hibernate+杂鱼(比如缓存echache框架、日志,tomcat等等) web3.1.xml配置 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" .

m0_60402568的博客 286

ssh daemon启动失败_SSH框架整合步骤

整合Struts+Spring+Hibernate 逐一配置的步骤更多内容,点击了解: SSH系列教材 (一)- 整合Struts+Spring+Hibernate 逐一配置的步骤​how2j.cn本例演示从0开始逐一整合SSH的步骤,要学习本知识,需要具备Spring, Struts, Hibernate的基础,如果没有这些基础,请把基础掌握之后再学习,不要跳跃学习,最后坑的是自己 本例演示从s...

weixin_39745933的博客 248

SSH的整合

SSH的整合配置web.xml版本,导入相关依赖SSH集成导入ehcache.xml导入日志文件log4j2.xmlstruts2的配置spring的配置集成hibernatess整合SSH分模块开发完成增删改查切面切在Biz层上与在Dao层上的区别 配置web.xml版本,导入相关依赖 web.xml <web-app xmlns="http://xmlns.jcp.org/xml/ns/...

water_java的博客 353

SSH整合学习笔记(二)

SSH整合学习笔记(二)SSH整合方式1、方式一:无障碍整合1.1 创建Web项目,引入jar包1.2 引入配置文件1.3 创建包结构1.4 创建相关类1.5 引入相关页面1.6 修改相关页面1.7 Spring整合Struts21.7.1 方式一1.7.2 方式二(**)1.8 完成Service调用Dao的操作1.9 Spring整合Hibernate框架2、方式二:将Hibernate的配置交给Spring管理3、Hibernate模板的使用3.1 常用操作4、延迟加载问题的解决5、补充(截止2020

poetr的博客 730

ssh整合出错——Duplicate class/entity mapping com.hl.fleetingtime.model.User

出错信息为: 出错原因为:两次进行了hibernate 映射 具体如下: hibernate.cfg.xml文件: <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.h

栗子的成长ing 3792

ssh连接密码出错

ssh连接时出现如下问题: Permission denied, please try again. 说明SSH已经连接成功,输入密码出错,3次后,提示”Permission denied, please try again.”,说明没有权限 解决方法: # vim /etc/ssh/sshd_config 修改: #PasswordAuthentication yes  为: Pass...

xue_hua_king的博客 1万+
上一篇: 使用jquery和json实现系部与班级的级联
下一篇: hibernate中的多对一关联关系
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值