连接池实现
在你项目中添加一个XML配置文件:
<ContextdocBase="linuxDemo"path="/linuxDemo"privileged="true">
<Resourcename="jdbc/linux"auth="Container"type="javax.sql.DataSource"
maxActive="100"maxIdle="30"maxWait="10000"
username="root"password=""driverClassname="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/jaoso?useUnicode=true&characterEncoding=GBK"/>
Context>
再在类中实例化就可以了:
publicclassDatabaseConn{
publicstaticsynchronizedConnectiongetConnection(){
try{
ContextinitCtx=newInitialContext();
ContextenvCtx=(Context)initCtx.lookup("java:comp/env");
DataSourceds=(DataSource)envCtx.lookup("jdbc/linux");
returnds.getConnection();
}catch(NamingExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnnull;
}
}
lookup("java:comp/env");是获取数据源
"java:comp/env"是JNDI的最高层,死的。
lookup("jdbc/linux");里面的参数就是Resource标签中配的name属性