数据源的操作
1:连接池
是为了解决每个用户不断的建立连接,操作,释放连接造成的资源浪费而提出的解决方案。
2: 通过Connection Pool管理数据库连接
通过DataSource管理Connection Pool
DataSource被JNDI绑定
:
3: 如何在服务器上对DataSsource进行配置
服务器一般采用Tomcat,然后对Tomcat中server.xml的配置:
以下为通用配置方案!!!
//此处可以不修改,直接在中间加入<Resource>的配置
<Context path=\"/test\" docBase=\"f: estweb\"
debug=\"5\" reloadable=\"true\" crossContext=\"true\">
<Logger className=\"org.apache.catalina.logger.FileLogger\"
prefix=\"localhost_MysqlTest_log.\" suffix=\".txt\"
timestamp=\"true\"/>
<Resource name=\"名字\" auth=\"Container\" type=\"javax.sql.DataSource\"/>
//名字和上面的名字一样。
<ResourceParams name=\"名字\">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name> [Page]
<value>5000</value>
</parameter>
<parameter>
<name>username</name>
<value>用户名</value>
</parameter>
<parameter>
<name>password</name>
<value>密码</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>驱动程序</value>
</parameter>
<parameter>
<name>url</name>
<value>连接地址</value>
</parameter>
</ResourceParams>
</Context>
以下为针对Tomcat的配置方案。
<Context path=\"/test\" docBase=\"f: estweb\"
debug=\"5\" reloadable=\"true\" crossContext=\"true\">
<Logger
className=\"org.apache.catalina.logger.FileLogger\"
prefix=\"localhost_MysqlTest_log.\" suffix=\".txt\"
timestamp=\"true\"/>
<Resource name=\"jdbc/mldn\" auth=\"Container\"
type=\"javax.sql.DataSource\"/>
[Page]
//在tomcat中此处需要对名称进行定位。而如果是weblogic或者其他的就不需要进行名称定位,直接就jdbc/mldn。
<ResourceParams name=\" java:comp/env/jdbc/mldn\">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>username</name>
<value>system</value>
</parameter>
<parameter>
<name>password</name>
<value>jxry</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value> [Page]
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@localhost:1521:alibaba</value>
</parameter>
</ResourceParams>
</Context>
4:配置完成后,需要通过名称查找的方式找到数据源
<%@ page import=\"java.sql.*\"%>
<%@ page import=\"javax.sql.*\"%>
<%@ page import=\"javax.naming.*\"%>
<%!
final String JNDINAME = \"java:comp/env/jdbc/mldn\" ;
%>
<%
Connection conn = null ;
try
...{
// 初始化查找命名空间
Context ctx = new InitialContext() ;
// 找到DataSource
DataSource ds = (DataSource)ctx.lookup(JNDINAME) ;
conn = ds.getConnection() ;
}
catch(Exception e)
...{
System.out.println(e) ;
}
%>
<%=conn%>
<%
// 将连接重新放回到池中,别忘记了,很重要。
conn.close() ;
%>