【发布时间】:2015-12-13 03:15:50
【问题描述】:
下面是我的 hibernate.xml 文件这个文件,对于 sql 中的任何查询,我将使用会话工厂进行查询,但在此我使用属性名称 dataSource 引用数据库连接,因此对于我正在调用的每个查询会话工厂,并且对于每次调用,它都在调用 dataSource 并建立一个新连接,而不是我只想建立一个连接并为每个请求进行多个查询,这是可能的
我正在使用休眠进行 sql 查询
我正在使用下面的 hibernate.xml,正如我从 http://www.mkyong.com/spring/maven-spring-hibernate-mysql-example/ 学到的那样
hibernate.xml:
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>resources/database/Token.xml</value>
</list>
</property>
</bean>
datasource.xml:
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/get"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
<property name="initialSize" value="3"/>
<property name="minPoolSize" value="1" />
<property name="maxPoolSize" value="3" />
</bean>
</beans>
更新:我已经建立了我的代码连接池,但是如何让它在应用程序启动时只打开一个连接并为每个请求使用相同的连接
正如您所见,每次调用会话工厂时,它都会调用 dataSource 并建立连接,我想停止它
【问题讨论】:
-
你怎么知道它不断地重新打开新的连接?您能否附上日志以确认这一点?
-
因为每次我认为它会重新打开连接时它都会调用dataSourse bean,所以我会检查日志并返回
标签: java mysql spring hibernate jdbc