在Java项目的applicationContext.xml中隐藏数据库的账号密码。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如图,首先创建一个InitComboPoolBeanPost类。继承BeanPostProcessor。重写postProcessAfterInitialization方法。其中的ComboPooledDataSource.class就是配置文件中dataSource的class。方法如上图。然后把InitComboPoolBeanPost类配置到applicationContext.xml最上面 如图二。最后把applicationContext.xml中的账户密码删除就行了。如图一

<think> 我们正在处理用户的问题:如何在XML文件中使用<add>标签配置连接Oracle 19c数据库。 根据引用[3],我们看到了一个MyBatisXML映射文件示例,其中包含数据库操作。但是,用户的问题是关于配置数据库连接,通常这出现在配置文件中,比如web.config、app.config或Spring的applicationContext.xml等。 然而,用户特别提到了“<add>标签”,这通常出现在.NET的配置文件中,而不是Java环境。在.NET中,我们通常在web.config或app.config中使用<connectionStrings>配置数据库连接。 但是,引用[1]提到了Oracle Database JDBC Developer's Guide,引用[3]又展示了一个MyBatisXML文件(Java环境)。因此,我们需要确认用户的环境。 由于用户的问题描述中同时出现了Java(引用[3])和.NET(<add>标签)的线索,我们需要谨慎。 在.NET中,配置Oracle数据库连接的典型方式如下: 在web.config或app.config中: ```xml <configuration> <connectionStrings> <add name="MyConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myServer)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=myServiceName)));User Id=myUsername;Password=myPassword;" providerName="Oracle.ManagedDataAccess.Client" /> </connectionStrings> </configuration> ``` 在Java环境中,通常不会使用<add>标签来配置数据库连接。在Java中,数据库连接配置通常出现在: 1. Spring框架的applicationContext.xml中,使用<bean>定义数据源。 2. 或者在properties文件中,然后在XML中通过属性占位符引用。 由于用户明确要求“<add>标签”,我们假设用户使用的是.NET环境。 因此,我们将提供.NET环境下使用<add>标签配置Oracle 19c数据库连接的方法。 注意:Oracle 19c的连接字符串格式与之前版本类似,通常使用TNS格式或简化连接字符串。 简化连接字符串示例(不需要tnsnames.ora文件): ``` Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=service_name)));User Id=username;Password=password; ``` 或者使用TNS别名(需要配置tnsnames.ora): ``` Data Source=myTnsAlias;User Id=username;Password=password; ``` 在.NET配置文件中,我们可以这样写: ```xml <configuration> <connectionStrings> <add name="YourConnectionStringName" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=your_host)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=your_service_name)));User Id=your_username;Password=your_password;" providerName="Oracle.ManagedDataAccess.Client" /> </connectionStrings> </configuration> ``` 注意:providerName可以是"Oracle.ManagedDataAccess.Client"(使用Oracle Managed Driver)或"System.Data.OracleClient"(已过时,不推荐)。建议使用Oracle官方的Managed Driver。 但是,如果用户实际上在Java环境中(因为引用[3]是MyBatis),那么我们需要提供Java中的配置方式。不过用户明确要求<add>标签,所以还是以.NET为准。 因此,我们将按照.NET环境来回答。 步骤: 1.配置文件的<connectionStrings>节点下,使用<add>标签。 2. 设置name属性,为连接字符串命名。 3. 设置connectionString属性,提供连接字符串。 4. 设置providerName属性,指定使用的提供程序。 注意:需要安装ODAC(Oracle Data Access Components)或Oracle Managed Data Access NuGet包。 所以,最终回答如下: </think> 在 XML 文件中通过 `<add>` 标签配置 Oracle 19c 数据库连接时,通常出现在 `.NET` 应用的配置文件(如 `web.config` 或 `app.config`)中。以下是标准配置方法: ### 配置步骤 1. **安装 NuGet 包** 需先安装 Oracle 官方驱动包: ```bash Install-Package Oracle.ManagedDataAccess.Core ``` 2. **XML 配置文件示例** 在 `<connectionStrings>` 节点下添加 `<add>` 标签: ```xml <configuration> <connectionStrings> <add name="OracleDB" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=your_host)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=your_service_name)));User Id=your_username;Password=your_password;" providerName="Oracle.ManagedDataAccess.Client" /> </connectionStrings> </configuration> ``` ### 关键参数说明 | 参数 | 说明 | |---------------------|----------------------------------------------------------------------| | `Data Source` | Oracle 服务标识符,格式:`(DESCRIPTION=...)` | | `HOST` | 数据库服务器 IP 或域名 | | `PORT` | 监听端口(默认 `1521`) | | `SERVICE_NAME` | Oracle 19c 的服务名(非 SID) | | `User Id` / `Password` | 数据库账号密码 | | `providerName` | 固定值 `Oracle.ManagedDataAccess.Client`(托管驱动) | ### 其他连接方式 1. **使用 TNS 别名**(需配置 `tnsnames.ora`): ```xml <add name="OracleDB" connectionString="Data Source=MY_TNS_ALIAS;User Id=user;Password=pass;" providerName="Oracle.ManagedDataAccess.Client"/> ``` 2. **简易 EZConnect 格式**: ```xml <add name="OracleDB" connectionString="Data Source=host:port/service_name;User Id=user;Password=pass;" providerName="Oracle.ManagedDataAccess.Client"/> ``` ### 注意事项 1. 推荐使用 **托管驱动**(`Oracle.ManagedDataAccess`),无需单独安装 Oracle 客户端[^1]。 2. 确保防火墙开放数据库端口(默认 `1521`)。 3. Oracle 19c 默认使用服务名(Service Name),而非 SID。 > 示例中的占位符(如 `your_host`, `your_service_name`)需替换为实际值。通过 `ConfigurationManager.ConnectionStrings["OracleDB"].ConnectionString` 可在代码中获取连接字符串[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值