数据源:存储了所有建立数据库连接的信息。就象通过指定文件名你可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。
其配置如下:
1.JNDI方式创建DataSource
1.1 配置数据源的相关连接信息,该配置可以在Tomcat安装目录下的conf/context.xml文件中配置。其配置如下:
<Context>
……
<!-- MySql -->
<Resource name="jdbc/orclight" auth="Container"
type="javax.sql.DataSource"maxActive="100" maxIdle="30"
maxWait="10000"username="root" password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/orclight"/>
……
</Context>
1.2 在程序中以JNDI的方式创建数据源,得到数据库连接已进行相应的操作
代码如下:
/ 初始化JNDI上下文,创建DataSource对象
Context initContext = new InitialContext();
Context context = (Context)initContext.lookup("java:comp/env");
DataSourcedataSource = (DataSource)context.lookup("jdbc/orclight");
2.Apache提供的DBCP方式创建数据源
2.1 以这种方式创建数据源必须先准备两个jar文件:commons-dbcp.jar 和 commons-pool.jar。
2.2 以这种方式创建的数据源就不再是javax.sql.DataSource。DataSource了,而是org.apache.commons.dbcp.BasicDataSource。
代码如下:
// 创建BasicDataSource对象
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3306/orclight");
ds.setUsername("root");
ds.setPassword("root");
ds.setInitialSize(50);
ds.setMaxActive(100);
ds.setMaxIdle(30);
ds.setMaxWait(10000);
// 关闭数据源连接
ds.close();
3.C3P0方式创建数据源
3.1 使用C3P0方式创建数据源应该首先准备一个jar文件:c3p0-0.9.1.2.jar,将其放到web/lib目录下,
就可以在项目中使用C3P0创建数据源
3.2 3.2 C3P0创建的数据源对象也不是DataSource对象,而是ComboPooledDataSource。
代码如下:
// 创建ComboPooledDataSource对象
ComboPooledDataSource ds = new ComboPooledDataSource();
ds.setDriverClass("com.mysql.jdbc.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/orclight");
ds.setUser("root");
ds.setPassword("root");
ds.setInitialPoolSize(50);
ds.setMaxPoolSize(100);
ds.setMaxIdleTime(10000);