JNDI连接数据库配置
时间: 2024-07-21 11:01:24 浏览: 37
JNDI (Java Naming and Directory Interface) 是Java平台提供的一种命名服务,用于统一管理和查找资源,包括数据库连接。在Java应用中配置JNDI连接数据库通常涉及到以下几个步骤:
1. **注册资源**:
- 在服务器端(如Tomcat、WebLogic等),你需要将数据库连接信息存储在一个JNDI名称(如`jdbc/mydb`)下。这可以是一个持久的JDBC数据源(Data Source) 或者简单的JNDI属性。
```xml
<resource-ref>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
```
2. **配置DataSource**:
使用`java.sql.DriverManager.getConnection()`方式创建的DataSource可能会不够健壮,推荐使用`java.sql.Wrapper`(比如`org.apache.commons.dbcp.BasicDataSource`或`javax.sql.DataSource`)作为基础。
3. **应用环境变量**:
- 如果你希望从应用程序本身获取连接信息,可以通过环境变量传递给DataSource,例如设置`java.naming.context.initialContextFactory`、`java.naming.provider.url`等。
4. **通过代码访问**:
在Java代码中,你可以使用`InitialContext`工厂来查找并初始化这个数据库连接:
```java
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("jdbc/mydb");
Connection conn = ds.getConnection(username, password);
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)