Tomcat-jdbc使用
要求:tomcat7以上版本
1、Tomcat中直接使用
在conf/server.xml中<GlobalNamingResources>节点中添加
<Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1"
validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="100"
minIdle="10"
maxWait="10000"
initialSize="10"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
jmxEnabled="true"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
username="root"
password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysql"/>
然后在context.xml中添加配置
<ResourceLink global="jdbc/TestDB" name="jdbc/TestDB" type="javax.sql.DataSource"/>
global中属性需要和Resource中配置的name属性相同
//补充代码
Context context = new InitialContext();
DataSource datasource = (DataSource)context.lookup("java:comp/env/jdbc/TestDB");
此处DataSource类型为javax.sql.DataSource
注意配置中的type类型,在Tomcat-jdbc文档中提到可以使用类型org.apache.tomcat.jdbc.pool.DataSource
详见:https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
所以,如果使用类型为org.apache.tomcat.jdbc.pool.DataSource
则
Context context = new InitialContext();
DataSource datasource = (DataSource)context.lookup("java:comp/env/jdbc/TestDB");
此处获取DataSource类型为
org.apache.tomcat.jdbc.pool.DataSource
进而可以使用文档提出的获取连接的方法:
Connection con = null;
try {
Future<Connection> future = datasource.getConnectionAsync();
while (!future.isDone()) {
System.out.println("Connection is not yet available. Do some background work");
try {
Thread.sleep(100); //simulate work
}catch (InterruptedException x) {
Thread.currentThread().interrupt();
}
}
con = future.get(); //should return instantly
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from user");
此处的datasource类型就是上面提到的org.apache.tomcat.jdbc.pool.DataSource
2、独立应用中配置
此处忽略,详情见
https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
转载于:https://www.cnblogs.com/winasm2012/archive/2012/07/17/2595748.html