C3P0是一个开源的JDBC毗连池,它实现了数据源和JNDI绑定,支撑JDBC3规范和JDBC2的尺度扩展。目前利用它的开源项目有
这 套API的次要感化正在于:它能够把Java对象放正在一个容器中(JNDI容器),并为容器中的java对象取一个名称,当前法式想获得Java对象,只需 通过名称检索即可。其焦点API为Context,它代表JNDI容器,其lookup方式为检索容器中对应名称的对象。
Tomcat办事器建立的数据源是以JNDI资本的形式发布的,所以说正在Tomat办事器中设置装备摆设一个数据源现实上就是正在设置装备摆设一个JNDI资本,通过查看Tomcat文档,我们晓得利用如下的体例设置装备摆设tomcat办事器的数据源:
办事器建立好数据源之后,我们的使用法式又该怎样样获得这个数据源呢,Tomcat办事器建立好数据源之后是以JNDI的形式绑定到一个JNDI容器中的,我们能够把JNDI想象成一个大大的容器,我们能够往这个容器中存放一些对象,一些资本,JNDI容器中存放的对象和资本城市有一个并世无双的名称,使用法式想从JNDI容器中获取资本时,只需要告诉JNDI容器要获取的资本的名称,JNDI按照名称去找到对应的资本后前往给使用法式。我们日常平凡做javaEE开辟时,办事器会为我们的使用法式建立良多资本,好比request对象,response对象,办事器建立的这些资本有两种体例供给给我们的使用法式利用:第一种是通过方式参数的形式传送进来,好比我们正在Servlet中写的doPost和doGet方式中利用到的request对象和response对象就是办事器以参数的形式传送给我们的。第二种就是JNDI的体例,办事器把建立好的资本绑定到JNDI容器中去,使用法式想要利用资本时,就间接从JNDI容器中获取响应的资本即可。
对于上面的name=jdbc/datasource数据源资本,正在使用法式中能够用如下的代码去获取
4、正在获取数据库毗连的东西类(如jdbcUtils)的静态代码块中获取JNDI容器中的数据源
转载请注明出处。