Java中的数据源就是javax.sql.DataSource。DataSource的创建可以有不同的实现。
JNDI方式创建DataSource
以JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件中配置。其配置如下:
<Context>
……
<!-- MySql -->
<Resource name="jdbc/NutzDemo" 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/cheng"/>
……
</Context>
然后,在程序中以JNDI的方式创建数据源,得到数据库连接已进行相应的操作。代码如下:
// 初始化JNDI上下文,创建DataSource对象
Context initContext = new InitialContext();
Context context = (Context)initContext.lookup("java:comp/env");
DataSourcedataSource = (DataSource)context.lookup("jdbc/NutzDemo");
Apache提供的简单连接池创建数据源
以这种方式创建数据源必须先准备两个jar文件:commons-dbcp.jar 和 commons-pool.jar。
以这种方式创建的数据源就不再是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/cheng");
ds.setUsername("root");
ds.setPassword("root");
ds.setInitialSize(50);
ds.setMaxActive(100);
ds.setMaxIdle(30);
ds.setMaxWait(10000);
JNDI方式创建DataSource
以JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件中配置。其配置如下:
<Context>
……
<!-- MySql -->
<Resource name="jdbc/NutzDemo" 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/cheng"/>
……
</Context>
然后,在程序中以JNDI的方式创建数据源,得到数据库连接已进行相应的操作。代码如下:
// 初始化JNDI上下文,创建DataSource对象
Context initContext = new InitialContext();
Context context = (Context)initContext.lookup("java:comp/env");
DataSourcedataSource = (DataSource)context.lookup("jdbc/NutzDemo");
Apache提供的简单连接池创建数据源
以这种方式创建数据源必须先准备两个jar文件:commons-dbcp.jar 和 commons-pool.jar。
以这种方式创建的数据源就不再是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/cheng");
ds.setUsername("root");
ds.setPassword("root");
ds.setInitialSize(50);
ds.setMaxActive(100);
ds.setMaxIdle(30);
ds.setMaxWait(10000);