问题描述
org.springframework.jdbc.UncategorizedSQLException:(SqlMapClientoperation):encounteredSQLException[---Theerroroccurredincom/ewallpartner/partner/apps/dao/sqlmap/WaibaoNews.xml.---Theerroroccurredwhileapplyingaresultmap.---CheckthegetNewsList-AutoResultMap.---Checktheresultmappingforthe'newsType'property.---Cause:java.sql.SQLException:无法转换为内部表示];nestedexceptioniscom.ibatis.common.jdbc.exception.NestedSQLException:---Theerroroccurredincom/ewallpartner/partner/apps/dao/sqlmap/WaibaoNews.xml.---Theerroroccurredwhileapplyingaresultmap.---CheckthegetNewsList-AutoResultMap.---Checktheresultmappingforthe'newsType'property.---Cause:java.sql.SQLException:无法转换为内部表示
解决方案
解决方案二:
请LZ检查WaibaoNews.xml中的getNewsList返回的ResultMap中newsType属性是否有问题
解决方案三:
返回的结果集类型用resultClass="java.util.HashMap"
解决方案四:
<selectid="getNewsList"parameterClass="map"resultClass="com.ewallpartner.partner.apps.domain.waibao.WaibaoNews">SELECTB.NEWSID,B.SUBJECT,B.CONTENTS,B.NEWSIMAGE,B.BROWSECNT,B.REFCNT,B.ARRANGEYN,B.TOPYN,B.USEYN,decode(B.NEWSTYPE,'1','行业新闻','2','企业动态','3','外包政策','')asNEWSTYPEFROM(SELECTA.NEWSID,A.SUBJECT,A.CONTENTS,A.NEWSIMAGE,A.BROWSECNT,A.REFCNT,A.ARRANGEYN,A.TOPYN,A.USEYN,A.NEWSTYPE,ROWNUMRNFROM(selectt1.NEWS_IDasNEWSID,t1.SUBJECTasSUBJECT,t1.CONTENTSasCONTENTS,t1.NEWS_IMAGEasNEWSIMAGE,t1.BROWSE_CNTasBROWSECNT,t1.REF_CNTasREFCNT,t1.ARRANGE_YNasARRANGEYN,t1.TOP_YNasTOPYN,t1.USE_YNasUSEYN,t1.NEWS_TYPEasNEWSTYPEfromWAIBAO_NEWSt1where1=1<isEqualproperty="isRange"compareValue="0"><isNotNullproperty="webId">andt1.WEB_ID=#webId#</isNotNull></isEqual><isNotNullproperty="topYn">andt1.TOP_YN=#topYn#</isNotNull><isNotNullproperty="arrangeYn">andt1.ARRANGE_YN=#arrangeYn#</isNotNull><isNotNullproperty="useYn">andt1.USE_YN=#useYn#</isNotNull><isNotNullproperty="subject">andt1.SUBJECTlike'$subject$%'</isNotNull><isNotNullproperty="newsType">andt1.NEWS_TYPE=#newsType#</isNotNull><isNotNullproperty="beginDate"><isNotNullproperty="endDate">andt1.INSERT_DATEBETWEEN#beginDate#AND#endDate#</isNotNull></isNotNull><isNotNullproperty="orderValue">$orderValue$</isNotNull><![CDATA[)AWHEREROWNUM<$endRow$)BWHERERN>=$startRow$]]></select>
解决方案五:
这是我的sql语句。
解决方案六:
你加个log4j.properties内容如下(谨用,先备份源程序,我出现的一个问题可能是缓存问题导致去除log4j.properties执行sql语句时间依然能够打印出sql):log4j.rootLogger=debug,stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.conversionPattern=[%5p]%d{mm:ss}(%F:%M:%L)%n%m%n%nlog4j.logger.com.ibatis=debuglog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debuglog4j.logger.com.ibatis.common.jdbc.ScriptRunner=debuglog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debuglog4j.logger.java.sql.Connection=debuglog4j.logger.java.sql.Statement=debuglog4j.logger.java.sql.PreparedStatement=debug,stdout
解决方案七:
哥每天看贴无数,看多了,精神颓废了,自信消失了,尊严感也快殆尽了,从前自以为是特别爱国的人之一、是最关心民族命运的人之一,后来发现自己不过是小小的普通百姓,自己的命运都不能掌控,还在考虑国家大事,有一点可笑,是不是自己疯了,变成阿Q了。回帖也就发发牢骚而已,宛如疯子边走边唱,即使路人听到也是露出鄙夷的神色,于事无补。从此我就把这段文字保存在记事本里,每看一贴就复制粘贴一次,顺便留下自己沉重而又疲惫的影子..
解决方案八:
是否能够显示出执行的sql,然后再确定Cause:java.sql.SQLException:无法转换为内部表示];nestedexceptioniscom.ibatis.common.jdbc.exception该错误,我暂时估计是sql语句有问题。
解决方案九:
我把sql语句复制到pl/sql里面能查询出来信息。
解决方案十:
我没加log4j我把控制台它生成的sql语句复制到pl/sql里面执行了一下。可以执行。
解决方案十一:
PreparedStatement-{pstm-100004}PreparedStatement:SELECTB.NEWSID,B.SUBJECT,B.CONTENTS,B.NEWSIMAGE,B.BROWSECNT,B.REFCNT,B.ARRANGEYN,B.TOPYN,B.USEYN,decode(B.NEWSTYPE,'1','琛屼笟鏂伴椈','2','浼佷笟鍔ㄦ??','3','澶栧寘鏀跨瓥','')asNEWSTYPEFROM(SELECTA.NEWSID,A.SUBJECT,A.CONTENTS,A.NEWSIMAGE,A.BROWSECNT,A.REFCNT,A.ARRANGEYN,A.TOPYN,A.USEYN,A.NEWSTYPE,ROWNUMRNFROM(selectt1.NEWS_IDasNEWSID,t1.SUBJECTasSUBJECT,t1.CONTENTSasCONTENTS,t1.NEWS_IMAGEasNEWSIMAGE,t1.BROWSE_CNTasBROWSECNT,t1.REF_CNTasREFCNT,t1.ARRANGE_YNasARRANGEYN,t1.TOP_YNasTOPYN,t1.USE_YNasUSEYN,t1.NEWS_TYPEasNEWSTYPEfromWAIBAO_NEWSt1where1=1andt1.WEB_ID=?andt1.TOP_YN=?andt1.ARRANGE_YN=?andt1.USE_YN=?andt1.NEWS_TYPE=?)AWHEREROWNUM<10)BWHERERN>=0PreparedStatement-{pstm-100004}Parameters:[1001,1,1,1,1]PreparedStatement-{pstm-100004}Types:[java.lang.String,java.lang.Integer,java.lang.Integer,java.lang.Integer,java.lang.Integer]
解决方案十二:
你能看出decode(这个方法查询出来的值么?还有一个方法是吧他创建到视图里面。然后再根据条件到视图里面查询。我也出现过这样的错误,就是字段不能够使用子查询。
解决方案十三:
看不出来我没用过ibatis这是其他人写好的。我调用的。没有其他办法了?
解决方案十四:
我是通过视图解决的,不然进度就赶不上了,应该能够有其它的办法解决,可惜我帮不了你。
解决方案十五:
那把它创建在视图里怎么解决?
其他方案:
在数据库表里创建视图,内容为你这条sqlwhere之前的所有。然后ibatis只要selet视图所有字段from视图where条件!
其他方案:
就是把where前面所有的字段创建成一张视图去查询视图?
其他方案:
楼主的jdbcTYPE写错了
其他方案:
楼主的jdbcTYPE写错了