在写Jdbc时遇到的小疑问
发布网友
发布时间:2022-05-06 18:29
我来回答
共2个回答
懂视网
时间:2022-05-06 22:50
1.为什么强调在使用jdbc时,需要在使用的时候才打开连接(Connection),用完后立马关闭。如果我的连接(Connection)一开始就打开,在整个程序结束时才关闭,会带来什么后果呢? 2.为什么要使用连接池?而且在使用连接池的时候也要强调连接的打开和关闭?如果
1.为什么强调在使用jdbc时,需要在使用的时候才打开连接(Connection),用完后立马关闭。如果我的连接(Connection)一开始就打开,在整个程序结束时才关闭,会带来什么后果呢?
2.为什么要使用连接池?而且在使用连接池的时候也要强调连接的打开和关闭?如果不使用连接池,会带来什么样的性能影响?
总之,总觉得自己照猫画虎会使用JDBC或c3p0写数据库访问程序了,但关于connection、statement这些概念,以及性能方面的影响仍然一无所知。
不知道是否有高人指点。
热心网友
时间:2022-05-06 19:58
jdbc和连接池对于你这个场景来说,都足够,既然用spring管理了,建议还是使用连接池,另外,spring自身没有实现连接池,一般都是对第三方连接池的包装,常见的有C3P0,dbcp以及最近比较流行的boneCP等,这几个配置都差不多太多,以boneCP为例:
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
<property name="idleConnectionTestPeriod" value="60" />
<property name="idleMaxAge" value="240" />
<property name="maxConnectionsPerPartition" value="30" />
<property name="minConnectionsPerPartition" value="10" />
<property name="partitionCount" value="2" />
<property name="acquireIncrement" value="5" />
<property name="statementsCacheSize" value="100" />
<property name="releaseHelperThreads" value="3" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>