连接池实现

在你项目中添加一个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属性

相关推荐