数据库:mydql
连接池:druid
jdk7型
肌炎
org.springframework.jdbc.UncategorizedSQLException:
### Error querying database. Cause: java.sql.SQLException: connection is closed
### The error may exist in class path resource [mybatis1/hotel/StopRoomRecordMapper.xml]
### The error may involve StopRoomRecordMapper.getByModel
### The error occurred while executing a query
### Cause: java.sql.SQLException: connection is closed
; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; connection is closed; nested exception is java.sql.SQLException: connection is closed
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:90)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:364)
at com.sun.proxy.$Proxy16.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159)
at com.leyizhu.dao.DaoSupport.findForObject(DaoSupport.java:155)
at com.leyizhu.dao.hotel.impl.StopRoomRecordDaoImpl.getByRoomTypeIdAndTradeDate(StopRoomRecordDaoImpl.java:96)
at com.leyizhu.dao.hotel.impl.StopRoomRecordDaoImpl.save(StopRoomRecordDaoImpl.java:34)
at com.leyizhu.service.hotel.impl.StopRoomRecordService.save(StopRoomRecordService.java:31)
at com.leyizhu.service.hotel.impl.StopRoomRecordService$$FastClassBySpringCGLIB$$5ef83be9.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
at com.leyizhu.service.hotel.impl.StopRoomRecordService$$EnhancerBySpringCGLIB$$b431adda.save(<generated>)
at com.leyizhu.task.timer.client.RecordStopRoom.execute(RecordStopRoom.java:54)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: java.sql.SQLException: connection is closed
at com.alibaba.druid.pool.DruidPooledConnection.checkState(DruidPooledConnection.java:1050)
at com.alibaba.druid.pool.DruidPooledConnection.getAutoCommit(DruidPooledConnection.java:722)
at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:81)
at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:66)
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:315)
at org.apache.ibatis.executor.ReuseExecutor.prepareStatement(ReuseExecutor.java:78)
at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:58)
代码:
@Override
public void save(StopRoomRecord model) throws Exception {
StopRoomRecord stopRoomRecord = getByRoomTypeIdAndTradeDate(model.getRoomtypeid(), model.getTradedate());
if (stopRoomRecord != null) {
//存在则更新数据
model.setId(stopRoomRecord.getId());
update(model);
} else {
//否则新增
model.setId(UuidUtil.get32UUID());
model.setCreatetime(new Date());
dao.save("StopRoomRecordMapper.save", model);
}
}
1条答案
按热度按时间uemypmqf1#
检查数据源bean(连接池)的配置。我将singleconnectiondatasource用于我的单线程应用程序。请尝试使用DriverManager数据源进行测试。
使用--trace键启动应用程序。可能有用。