在resin 的conf 文件下有resin.xml 我们在这里可以配置数据源以及配置项目
一、配置多个数据源,多个项目共享这些数据源,也就是这些数据源配置在<host> </host> 之内,而在<web-app> </web-app> 之外,这样所有的这些项目都能访问这些数据源
实例:
<host id="localhost" root-directory="D:\Javaee\project\test\">
<database>
<jndi-name>jdbc/test</jndi-name>
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost:3306/user</url>
<user>root</user>
<password>admin</password>
</driver>
</database>
<database>
<jndi-name>jdbc/test2</jndi-name>
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost:3306/user2</url>
<user>root</user>
<password>admin</password>
</driver>
</database>
<!-- 这里数据源配置到了host,所以只要是这个host中的web-app都是可以使用这些数据源的 -->
<web-app id="/test" root-directory="test\demo"/>
<web-app id="/testresin" root-directory="webapp"/>
</host>
二、一个项目配置多个数据源,也就是将数据源的配置放在<web-app> 之内,这个数据源只能被这个项目使用,其他的项目不能使用这个数据源
实例:
<host id="localhost" root-directory="D:\Javaee\project\test\">
<web-app id="/test" root-directory="test\demo">
<database>
<jndi-name>jdbc/test</jndi-name>
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost:3306/user</url>
<user>root</user>
<password>admin</password>
</driver>
</database>
<database>
<jndi-name>jdbc/test2</jndi-name>
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost:3306/user2</url>
<user>root</user>
<password>admin</password>
</driver>
</database>
</web-app>
<!-- 这里将多个数据源配置在了web-app 中,所以也只有这个web-app 能使用这些数据源-->
<!--如果在配置其他的web-app 也还是不能使用这些数据源的 -->
</host>
三、从两个数据源获取数据库连接
实例:
DataSource ds2= null;
DataSource ds=null;
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
InitialContext context=new InitialContext();
ds = (DataSource)envContext.lookup("jdbc/test");
ds2=(DataSource)envContext.lookup("jdbc/test2");
Connection con= ds.getConnection();
Connection con2= ds2.getConnection();
注意导入类: javax.sql.DataSource,javax.naming.*,java.sql.*
版权声明:本文为博主原创文章,未经博主允许不得转载。