我认为单例模式是为了减少不必要的内存开销,只让内存有一个类的内存空间。而你说的这个应该要用数据库连接池,连接仍然要释放,只不过这里个释放是释放连接池里的资源,而非释放连接,连接池的连接任然没变
javaxsqlDataSource ds = (javaxsqlDataSource)ctxlookup("java:comp/env/jdbc/news");
把这句分开写看看。
Context ic = new InitialContext();
Context env = (Context) iclookup("java:comp/env");
DataSource ds = (DataSource) envlookup("jdbc/news");
可以使用c3p0做为数据库连接池。它配置和使用都非常方便。
hibernate默认使用c3p0做为数据库连接池,而且c3p0也可以与Spring框架方便的集成在一起。
下面的代码演示了如何在Spring中配置c3p0数据库连接池:
<bean id="dataSource" class="commchangev2c3p0ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="orgpostgresqlDriver" />
<property name="jdbcUrl" value="jdbc:postgresql://127001:5432/db_demo" />
<property name="user" value="postgres" />
<property name="password" value="123456" />
<property name="maxPoolSize" value="15" />
<property name="minPoolSize" value="1" />
<property name="initialPoolSize" value="3" />
</bean>
c3p0在sourceforge网站上发布的,描述如下:
c3p0 is an easy-to-use library for augmenting traditional (DriverManager-based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 std extension
以上就是关于Java 单例模式数据库连接全部的内容,包括:Java 单例模式数据库连接、java配置连接池时不能得到一个DataSource实例,高手请进!、JAVA连接池技术等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)