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

OpenCms中操作外部数据库的方法之一

阅读更多
    以前写几个模块,需要涉及到自定义数据库操作的地方,一般都是在OpenCms默认的数据库里面建立新的数据表来进行操作的.
    [王毅原创,转载注明,http://wangyi878750.blog.sohu.com/83875297.html]
    譬如在留言板或者计数器中,这些内容是没有必要做成自定义结构类型来使用的,那么最好的办法就是写几个简单的bean操作数据库了.这样的话,我就在OpenCms的数据库里面建立几个自己的库表,加上模块所特有的前缀就是了.
    这样有一个很明显的好处,就是不用做任何多余的配置,就可以很方便的使用数据库操作,当然,只能是在OpenCms原有的数据库里面.然后就可以按照我曾经在OpenCms的数据库操作一文中所写的那样来对数据库表操作了.最大的好处就是我在部署一些需要自己建立数据表的模块的时候,只需要经过web登录系统,导入模块,然后就可以直接在OpenCms的后台创建或者删除数据表,进而操作这些数据.
[王毅原创,转载注明,http://wangyi878750.blog.sohu.com/83875297.html]
    虽然上面所说的,能够解决一些比较常用的数据库操作功能,但是未必人人都想把自己模块的数据表放在原来的数据库里面,或者说,可能我的模块操作的本来就是其他的数据库,可能在任何一个地方的任何一个物理机器上,那么就不可能使用这个方法了.那么,我接下来说明另一种方法,可以通过OpenCms的配置,来让你可以在OpenCms系统里面方便的操作外部数据库.
[王毅原创,转载注明,http://wangyi878750.blog.sohu.com/83875297.html]
    首先需要了解一下OpenCms的一个配置文件,就是配置文件夹下的opencms.properties文件.
    在这个文件中主要就涉及三个部分,除了设置安装向导是否可用,以及网卡地址绑定以外,最多的就是和数据库相关的一些设置了.在理解了这些设置之后,就很容易明白外部数据库的配置了.具体操作步骤如下:
[王毅原创,转载注明,http://wangyi878750.blog.sohu.com/83875297.html]
    1,找到"Declaration of database pools"这段配置文字.
      原来的设置为 db.pools=default ,这个地方声明了OpenCms系统可用的数据库连接池,我们要使用外部数据库的连接池,就需要修改这里.修改方法很简单,直接在这个参数后面增加你添加的连接池的名称就可以了,中间使用逗号分隔.譬如可以修改为 db.pools=default,test 即可.
    2.找到"Configuration of the default database pool"这段配置文字.
      这段配置指明了连接池所用到的各种属性,譬如数据库驱动类型,数据库的路径,用户名密码等等.
      修改方法也很简单,直接复制一段,然后就将原来键值对中的键名中的"default" 修改为你设置的连接池名称即可.比如我在这里将类似"db.pool.default.user"中的"default"全部修改为"db.pool.test.user"这样.然后把各个属性对应的值设置为适合访问你的外部数据库的需要.
      需要注意的是下面这句,应该把属性值修改,将属性值中的"default"也要修改为你要使用的外部连接池名称.这个很重要. [王毅原创,转载注明,http://wangyi878750.blog.sohu.com/83875297.html]
            # the URL to make the JDBC DriverManager return connections from the DBCP pool
              db.pool.default.poolUrl=opencms:default
    3.找到"Configuration for statement pooling"这一段配置,复制并修改为你需要的连接池的配置.

    经过这三处修改之后,重启web服务器,你就应该可以顺利的在OpenCms里面使用jsp或者javabean来操作数据库了,和其他的框架下的操作没有什么不同.
    4.你可以向我一样建立如下一个简单的jsp页面来测试一下了.

    <%@page import="java.sql.*,
                    org.opencms.db.*,
                    org.opencms.main.*"%>
    <%
        java.sql.Connection con =
        OpenCms.getSqlManager().getConnection("test");

        Statement stmt = con.createStatement();
        ResultSet rs;
        rs = stmt.executeQuery("select id, name from test");

        while (rs.next()) {
          %><%= rs.getInt(1) %> <%= rs.getString(2) %><br><%
        }
        rs.close();
        stmt.close();

        con.close();
    %>

当然了,我的test数据库里面有test数据表了,里面也当然有id和name. 微笑

我的相关日志:

2007-03-23 | [转]OpenCms for MySql 安装图解
2007-03-23 | [转][图文]OpenCms VFS plugin for Eclipse 安装与使用
2008-04-06 | OpenCms中操作外部数据库的方法之一
2007-11-18 | [转]Tomcat中数据源的配置和使用
2008-04-05 | 有趣的OpenCms后台登录界面
2008-04-04 | 我的OpenCms在线演示站点失效
2008-04-03 | 按照官方教程整合Apache+Tomcat+OpenCms
2008-03-21 | OpenCms的官方在线演示站点
2008-03-21 | <cms:contentload>标签的使用
2008-03-18 | 来自 Alkacon Software GmbH 的邮件
2008-02-05 | 在OpenSuse下安装OpenCms的时候如何去掉路径中的opencms
2007-12-14 | <cms:editable>标签的使用
2007-12-13 | <cms:contentshow>标签的使用


分享到:
评论

相关推荐

    [CMS程序]OpenCms v6.2.2 源代码_opencms_6.2.2_src.rar

    通过源代码,开发者可以了解OpenCms如何与数据库交互、如何处理请求、以及如何与外部系统(如LDAP、CMS插件等)集成。这有助于自定义部署,例如调整数据库连接配置、增加新的模块或者编写自定义的工作流。 6. **...

    opencms资料

    - **去掉第一个opencms**:修改Apache配置文件,去除URL中的第一个“opencms”部分。 - **去掉第二个opencms**:进一步调整配置,使URL更加简洁。 - **集成Apache、Tomcat和OpenCms的意义**:提高安全性、性能和可...

    Managing.And.Customizing.OpenCMS.6

    通过本书的学习,读者不仅可以掌握 OpenCms 6 的基本操作和高级功能,还能深入了解如何利用该平台来实现业务目标。无论是初学者还是经验丰富的开发者,都能从中获得有价值的信息和指导。 --- 以上内容涵盖了...

    IPTV环境搭建解决方案.doc

    5. **新朗华容管理系统 6.2.x**:使用特定URL启动安装程序,进行"Standard"安装,这会创建OpenCms数据库和资源。如果MySQL和Tomcat在同一服务器上,安装过程通常会很顺利。 6. **登录系统**:安装完成后,通过指定...

    IPTV环境搭建解决方案.pdf

    IPTV环境搭建解决方案主要涉及的是构建一个基于Java、Tomcat、MySQL和OpenCMS的集成系统,以便实现多站点管理和跨终端访问的功能。以下是详细的知识点解析: 1. **Java JDK安装**:作为基础,首先需要安装Java JDK ...

    IPTV环境搭建解决方案借鉴.pdf

    本文档提供了一个详细的IPTV环境搭建解决方案,主要利用Apache、Tomcat、Mysql和OpenCMS等组件,实现多站点的IPTV系统,并确保内容可以在不同终端上访问。以下将详细介绍每个步骤: 首先,要安装Java JDK,这是整个...

    J2EE开源框架

    - **持久层框架**:Hibernate 是一款流行的 ORM(对象关系映射)框架,它能够将 Java 对象映射到数据库表上,简化了数据访问层的开发;JDO 是 Java 数据对象规范,相比 Hibernate 更加轻量级;PropertySet 则是一个...

Global site tag (gtag.js) - Google Analytics