C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等,通过JDBC使用JNDI是非常有用的,因为这样可以注册(绑定)数据源,然后在程序
中查找这些数据源,而不必提供准确的数据库连接信息。因此,如果数据库连接信息改变了,那么只需修改JNDI对象,而不必修改程序
Spring提供了对hibernate支持的SessionFactory可以再注入后获取SESSION,然后你就可以任意去实现数据库操作了
<beanid="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<!--指定hibernate配置文件的位置-->
<propertyname="configLocation"value="classpath:hibernate.cfg.xml"/>
<!--
那么这里给sessionFactory注入dataSource的解释:其实就是相当于单独的hibernate项目中使用
config.buildSessionFactory()这样手动构建SessionFactory一样,必须提供有关数据库的参数配
置信息也就是在hibernate.cfg.xm中 配置的数据库信息,这样使用session才能关联上数据库
-->
<propertyname="dataSource"ref="dataSource"/>
</bean>