Spring Hibernate连接错误无法获取JDBC连接],根本原因是
在SpringMVC中使用hibernate从DB获取数据时,我遇到以下异常Spring Hibernate连接错误无法获取JDBC连接],根本原因是,spring,hibernate,spring-mvc,Spring,Hibernate,Spring Mvc,在SpringMVC中使用hibernate从DB获取数据时,我遇到以下异常 SEVERE: Servlet.service() for servlet [spring] in context with path [/DemoApp] threw exception [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Co
SEVERE: Servlet.service() for servlet [spring] in context with path [/DemoApp] threw exception [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection] with root cause
java.lang.NullPointerException: Cannot invoke "java.util.Map.get(Object)" because "this.serverVariables" is null
下面是我的代码块
Session session = this.sessionFactory.getCurrentSession();
List<User> listUsr = session.createQuery("From User Where username=\'"+usr.getUsername()+"\' and passphare=\'"+usr.getPassphare()+"\'").list();
System.out.println("Lit user "+listUsr);
if(listUsr != null && listUsr.isEmpty()) {
System.out.println("Empty details");
} else {
System.out.println("Value fetched");
}
Session Session=this.sessionFactory.getCurrentSession();
List listUsr=session.createQuery(“来自用户名=\'”+usr.getUsername()+“\'和passShare=\'”+usr.getpassShare()+“\'”)。List();
System.out.println(“Lit user”+listUsr);
if(listUsr!=null&&listUsr.isEmpty()){
System.out.println(“空细节”);
}否则{
System.out.println(“获取的值”);
}
Sevlet代码
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/mycart?useSSL=false" />
<property name="username" value="root" />
<property name="password" value="PASWORD" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.demoapp.model" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="connection.autoReconnect">true</prop>
<prop key="connection.autoReconnectForPools">true</prop>
<prop key="connection.is-connection-validation-required">true</prop>
<prop key="hibernate.c3p0.min_size">5</prop>
<prop key="hibernate.c3p0.max_size">20</prop>
<prop key="hibernate.c3p0.timeout">300</prop>
</props>
</property>
</bean>
<!-- Step 3: Setup Hibernate transaction manager -->
<bean id="myTransactionManager"
class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:annotation-driven transaction-manager="myTransactionManager" />
<tx:annotation-driven/>
org.hibernate.dialogue.mysqldialogue
真的
真的
真的
真的
5.
20
300
POM快照示例
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.4.21.Final</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>5.3.6.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.21.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.26</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
共用配置
共用配置
1.9
org.hibernate
休眠实体管理器
5.4.21.最终版本
com.mchange
c3p0
0.9.5.2
org.hibernate
hibernate-c3p0
5.3.6.最终版本
org.hibernate
冬眠核心
5.4.21.最终版本
org.hibernate.javax.persistence
hibernate-jpa-2.1-api
1.0.0.1决赛
mysql
mysql连接器java
5.1.26
公共dbcp
公共dbcp
1.4
javax.servlet
jstl
1.2
这似乎是驱动程序问题。请检查驱动程序版本和数据库版本。此问题是否已解决?这个问题的解决方案是什么请与我们分享。