### Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-00971: 缺失 SET 关键字
第一次遇到缺失关键字set的时候,第一时间检查了sql语句,将sql语句粘贴到数据库管理工具上测试,所有的需要更改的数据都替换成实际数据,运行,success,select数据库,数据已经更改。。。。。。。。然后就懵了。。。还能是哪里错呢。。。将目光再次转移到consloe
bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00971: 缺失 SET 关键字
at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:91)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371)
at com.sun.proxy.$Proxy39.update(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:254)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:54)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)
at com.sun.proxy.$Proxy67.updateStatusInfo(Unknown Source)
at com.thinkgem.jeesite.modules.paper.service.PaperFlowService.saveSectionData(PaperFlowService.java:168)
at com.thinkgem.jeesite.modules.paper.web.PaperFlowController.saveSectionData(PaperFlowController.java:153)
感觉好长。。。又一大堆不认识的东西。。。。错误在又没办法,只能硬着头皮往下看。。。发现:
at com.thinkgem.jeesite.modules.paper.service.PaperFlowService.saveSectionData(PaperFlowService.java:168)
这个我认识唉,这不是service里我写的接受页面传递过来参数的实体类么?。。。难道是页面传递参数有问题?。。。打个桩。。。。。。麻蛋!这一长串的null是什么鬼!!!!
201605300000008(Long), 01(String), 0105(String), null, null, null, 1(String), null, 李海军(String), 2016-07-26 18:28:05.134(Timestamp), A(String), 2016-07-26 18:28:05.134(Timestamp), 2016-07-26 18:28:05.134(Timestamp)
好吧。。。错误找到了。。之后的问题就简单了。。。
个人总结几点:
1.页面从后台接受和传递参数需要注意数据类型的统一,如果不统一。。。。那么你会碰到(requeired type)
2.页面与后台数据交互参数的路径设置,接收参数的时候path中的值,传递参数的时候看type 可能是name或者value等,一定要和后台取出的路径一致,否则就会碰到(nullpointerexception)
3.sql语句一定要在数据库管理工具中试验后再放入xml文件,否则。。。。报错一大堆。。。影响编码心情。。。