java web项目下配置多数据源
以双数据源为例:
在META-INF 目录下的context.xml目录下配置如下
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="">
<Resource name="jdbc/db1" auth="Container" type="javax.sql.DataSource"
username="db1" password="123456" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db1" maxActive="100" maxWait="50000"
maxIdle="30" />
<Resource name="jdbc/db2" auth="Container" type="javax.sql.DataSource"
username="db2" password="123456" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db2" maxActive="100" maxWait="50000"
maxIdle="30" />
</Context>
取数据源如下
public static Connection getCon(){//得到数据库连接的方法
try{
Context initial = new InitialContext();//得到上下文引用
DataSource ds = //得到DataSource引用
(DataSource)initial.lookup("java:comp/env/jdbc/db1");
con = ds.getConnection();//得到数据库连接
}
catch(Exception e)
{e.printStackTrace();}
return con;//返回数据库连接
/*try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost/test";
con = DriverManager.getConnection(url,"db1","123456");
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e1){
e1.printStackTrace();
}
return con;*/
}
取数据源db2可以模仿来写。