严重: Exception sending context initialized event to listener instance of class com.guangyi.core.web.listener.StartupListener
org.springframework.jdbc.UncategorizedSQLException: Error getting generated key or setting result to parameter object. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。
; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; 必须执行该语句才能获得结果。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71)
at org.mybatis.spring.SqlSessionUtils$SqlSessionSynchronization.beforeCommit(SqlSessionUtils.java:252)
at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:95)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:927)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:737)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
at com.guangyi.nda.service.system.FunctionService$$EnhancerByCGLIB$$413916c5.save(<generated>)
at com.guangyi.core.util.AppUtil.synMenu(AppUtil.java:294)
at coMyBatisSQL异常
org.springframework.jdbc.UncategorizedSQLException: Error getting generated key or setting result to parameter object. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。
; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; 必须执行该语句才能获得结果。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71)
at org.mybatis.spring.SqlSessionUtils$SqlSessionSynchronization.beforeCommit(SqlSessionUtils.java:252)
at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:95)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:927)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:737)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
at com.guangyi.nda.service.system.FunctionService$$EnhancerByCGLIB$$413916c5.save(<generated>)
at com.guangyi.core.util.AppUtil.synMenu(AppUtil.java:294)
at coMyBatisSQL异常
解决方案 »
- 调用虚拟打印机打印html文件,转换成pdf文件
- 数据类型疑惑
- JSP生成静态页问题
- Jsp+JavaBean+Servlet问题
- 有一个网站的菜单做的不错,谁能提供一个源码?菜单+子菜单的那种,详解内文
- 关于路径的一些问题
- 请问各位有经验的人,struts里连接数据库查询的代码,一般写到哪里
- 关于保存文件到数据库中的问题?
- b页面检索数据库分页显示的时间,要调用从上个a页面传来的参数,但只能现实一页的结果!
- 小弟刚入门:请问题tomcat + apache, tomcat + jboss, tomcat + resin, + iis, 这些都是什么意思呀。一个tomcat不就解决了吗?
- 简单的路径问题
- ckeditor+ckfinder上传图片的问题
@Options(useGeneratedKeys = true, keyProperty = "id")
public Integer save(T obj);
删除 options 可以保存到数据库,数据库是 SqlServer jar 是 sqljdbc mybatis 的jar是 mybatis-3.2.2.jar
这样不能适用所有的..
<insert id="insert" parameterType="User">
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
select last_insert_rowid() as id
</selectKey>
自己写sql比较靠谱 select last_insert_rowid() as id 你可以替换成select max(id)...因为有的每个数据库的返回插入值都不同...
我的在mysql下是可以 查询,改成SqlServer 之后就不行了。 没办法老大要求配置成 通用的,
就写成
@InsertProvider(type = CUDTemplate.class, method = "save")
@Options(useGeneratedKeys = true, keyProperty = "id")
public Integer save(T obj);这种的在mysql下可以。不知道为何在SqlServer中不行,是不是 jdbc。jar的原因
因为mybatis中 配置的全剧变量
<!-- 对于批量更新操作缓存SQL以提高性能 SIMPLE-->
<setting name="defaultExecutorType" value="SIMPLE" /> sqlserver 仅支持simple 不支持 batch 之前配置的是batch