`
wanglei2999
  • 浏览: 21850 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDBC (dbcp,c3p0数据源)转weblogic JNDI数据源

阅读更多
JDBC (dbcp,c3p0数据源)转weblogic JNDI数据源

转变原因:避免在配置文件中出现数据库的链接信息(用户名、密码等)

转变过程:
  1 在weblogic控制台建一个连接池和数据源,并互相关联
  2 在spring配置文件中applicationContext.xml文件中加入如下代码:

  <bean id="crmdatasource"
                class="org.springframework.jndi.JndiObjectFactoryBean">
                <property name="jndiName">
                        <value>ODSCRM< alue><!--数据源名称-->
                </property>
                <!-- 如果你不想使用 'java:comp/env/'前缀的话请设置下面的值为true, 默认值为false
                <property name="resourceRef">
                        <value>true</value>
                </property>
                -->
                <property name="jndiEnvironment">
                        <props> 
                                <!-- The value of Context.PROVIDER_URL -->
                                <prop key="java.naming.provider.url">
                                        t3://localhost:7001
                                </prop>
                                <prop key="java.naming.factory.initial">
                                        weblogic.jndi.WLInitialContextFactory
                                </prop>
                        </props>
                </property>
     </bean>

3 在使用数据源时有两种方式

   a  在需要连接数据库的类中直接获取datasource  然后时候datasource.getConnection()方法获取连接 后续操作就和普通JDBC一样,如果原代码使用的是普通JDBC
操作数据库方式,那么这种修改方式改动最小
   b  增加DAO层,可以继承JdbcDaoSupport(getJdbcTemplate()),HibernateDaoSupport(getHibernateTemplate()),SqlMapClientDaoSupport(getSqlMapClientTemplate()),
最后将dao注入到具体的操作类中


------容易出现侧问题:

1无法注入,无论在注入datasource还是dao时都为null

2在spring配置文件中加入如下代码会报错,去掉反而正常
  <!-- 如果你不想使用 'java:comp/env/'前缀的话请设置下面的值为true, 默认值为false
                <property name="resourceRef">
                        <value>true</value>
                </property>
   -->
分享到:
评论

相关推荐

    浅谈在Spring中如何使用数据源(DBCP、C3P0、JNDI)

    例如,在WebLogic或Tomcat等服务器中,我们只需要在Spring配置文件中定义一个JNDI数据源的bean,如下所示: ```xml &lt;bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"&gt; ...

    JNDI数据源【步骤图解】

    - 使用连接池管理数据源,如HikariCP、C3P0或Apache DBCP,以优化性能和资源使用。 - 配置合理的连接超时和验证查询,确保数据库连接的健康状态。 - 在生产环境中,数据库连接信息应存储在安全的地方,避免泄露。...

    mysql数据源设置

    2. **C3P0**:C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,提供了比DBCP更强大的功能,例如连接测试、空闲连接检测等。 3. **HikariCP**:HikariCP是一个高性能的数据源,它以最小的内存占用和最快的...

    数据源所需jar.rar

    3. **连接池**: 数据源通常会集成连接池技术,如C3P0、HikariCP、Apache DBCP、Druid等。连接池预先创建并管理一组数据库连接,当应用程序需要时可以从池中获取,使用完毕后归还,从而提高了数据库连接的复用率,...

    ejb数据源配置文件

    4. **连接池**:在EJB应用中,数据源通常与连接池一起使用,如C3P0、HikariCP或Apache DBCP。连接池管理数据库连接的创建、分配和回收,提高性能并减少资源浪费。 5. **持久化配置**:EJB常与Java Persistence API ...

    struts配置数据源的问题

    此外,还可以使用第三方库如C3P0、Apache DBCP等来实现连接池,这些库提供了更高级的特性,如自动回收连接、超时控制等,以进一步优化数据库性能。 总结,配置Struts的数据源涉及到Java EE的JNDI服务、应用服务器的...

    java各种数据库连接

    例如,Apache的Commons DBCP和C3P0都是流行的数据源实现。 3. JNDI与应用服务器:在企业级应用中,数据源通常通过JNDI在应用服务器(如Tomcat、JBoss、WebLogic等)中注册。这样,应用可以通过JNDI查找并获取数据源...

    java数据库连接方法.pdf

    JNDI数据源在服务器启动时初始化,无需额外引入jar包。 - **C3P0**: 需要引入`c3p0-0.9.x.jar`,使用`com.mchange.v2.c3p0.ComboPooledDataSource`类来创建数据源。C3P0提供了连接测试、自动回收、连接池大小...

    JDBC连接数据库

    在实际开发中,为了提高代码的可维护性和安全性,建议使用预编译的`PreparedStatement`和连接池,例如Apache的DBCP或C3P0。 总结来说,Java JDBC连接数据库涉及到了数据库驱动的选择、连接步骤、数据源配置以及路径...

    Oracle 11.1.0.7.0 JDBC 驱动包

    在大型企业级应用中,通常会采用连接池技术,如C3P0、Apache DBCP或HikariCP,以管理和复用数据库连接,提高系统性能和稳定性。同时,为了适应高并发场景,还应考虑事务管理、数据一致性以及错误恢复策略。 总的来...

    spring3.x的读书笔记-6

    此外,Spring还允许在容器内部配置数据源,例如通过Apache的DBCP或C3P0这两个第三方库来实现。DBCP和C3P0提供了连接池功能,能有效管理数据库连接,提高应用性能。在Spring配置文件中,可以配置这两个数据源的实例,...

    oracle JDBC 驱动包 10g 9i

    - 数据源(DataSource):Oracle JDBC驱动支持JNDI查找的数据源,这样可以在应用服务器如Tomcat或WebLogic中配置数据源,然后由应用程序通过名称查找,方便管理和共享数据库连接。 - 连接池:为了提高性能和资源...

    java数据库访问服务汇总

    - **JNDI**(Java Naming and Directory Interface):由Web服务器(如Tomcat、WebLogic、WebSphere)管理数据源,不需要额外引入jar包,直接实现`javax.sql.DataSource`接口。 - **C3P0**:依赖`c3p0-0.9.x.jar`...

    简单配置hibernate

    默认的 Hibernate 连接池功能有限,推荐使用成熟的连接池实现,如 C3P0、Druid 或者应用服务器自身的连接池(如 Tomcat 的 DBCP、WebLogic)。配置时,需要取消 Hibernate 内置连接池的相关设置,并根据所选连接池的...

    开发中连接数据库需要的JAR包

    8. 使用连接池:为了提高性能和资源利用率,大多数企业级应用会使用连接池(如C3P0、HikariCP或Apache DBCP),它们能够管理数据库连接,避免频繁地创建和关闭连接。 9. Maven或Gradle依赖管理:现代的Java项目通常...

    360safe.rar_oracle

    例如,C3P0、HikariCP、Apache DBCP等都是常用的Java JDBC连接池实现。 6. **数据源配置**: 在Java EE环境中,数据源通常在应用服务器(如Tomcat、WebLogic等)中配置,提供对数据库的统一访问。开发者只需通过JNDI...

    java链接oracle 数据库驱动jar

    1. **连接池**:为了提高性能和资源利用,可以使用连接池(如C3P0、HikariCP或Apache DBCP),它们管理数据库连接的创建、分配和释放。 2. **批处理**:对于批量插入或更新操作,使用JDBC的批处理功能可以显著提高...

    自己总结的学习笔记,请大家批评指正 datasource

    - **配置**:除了JNDI方式外,还可以在应用中直接配置DataSource,例如使用Apache DBCP或C3P0等第三方连接池库,通过编程方式创建和管理DataSource。 4. **数据库连接管理**: DataSource还负责处理连接的生命...

    北大青鸟J2EE_JSP完美课件

    理解PreparedStatement和CallableStatement的用法,以及连接池的概念,如C3P0和Apache DBCP,以优化数据库操作。 6. **EJB(Enterprise JavaBeans)**:虽然J2EE已经发展到Java EE 8,EJB在现代应用中可能不是首选...

Global site tag (gtag.js) - Google Analytics