开源数据库连接池:
一、DBCP:
方式1:
BasicDataSource source = new BasicDataSource();
source.setDriverClassName("com.mysql.jdbc.Driver");
source.setUrl("jdbc:mysql:///datasource");
source.setUsername("root");
source.setPassword("1234");
方式2:
Properties prop = new Properties();
prop.load(new FileReader("dbcp.properties"));
BasicDataSourceFactory factory = new BasicDataSourceFactory();
DataSource source = factory.createDataSource(prop);
配置文件中:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///datasource
username=root
password=1234
二、C3PO:
方式1:
ComboPooledDataSource source = new ComboPooledDataSource();
source.setDriverClass("com.mysql.jdbc.Driver");
source.setJdbcUrl("jdbc:mysql:///datasource");
source.setUser("root");
source.setPassword("1234");
方式2:
ComboPooledDataSource source = new ComboPooledDataSource();
在类加载目录下名称为c3p0-config.xml的配置文件中配置:
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///datasource</property>
<property name="user">root</property>
<property name="password">1234</property>
</default-config>
</c3p0-config>
三、tomcat内置的数据源(DBCP):
1.如何为tomcat配置数据源
web应用还有第三种配置方式:将web应用直接放置到虚拟主机管理的目录.此时可以在web应用的META-INF文件夹下创建一个context.xml文件,在其中可以写< Context>标签进行配置,这种配置信息将只会对当前web应用起作用
<Resource name="mySource"
auth="Container"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql:///day11"
maxActive="8"
maxIdle="4"/>
2.使用数据源 Context容器>JNDI容器
想要访问jndi就必须在Servlet中才能执行下列代码:
Context initCtx = new InitialContext();
Context jndi = (Context) initCtx.lookup("java:comp/env");
DataSource source = jndi.lookUp("mySource");