如何从数据库中检索动态内容?

时间:2012-11-24 08:46:36

标签: content-management-system dotcms

我正在评估基于java的cms并选择一个作为我们的cms,现在我正在学习dotcms,我需要知道如何从传统的jsp / bo中检索db中的内容,我是dotcms的新手,官方文档只讲述如何添加静态内容而不是动态内容,比如运行sql并获取所需数据,然后将它们放入页面中。我们正在建立一个内部网站,员工可以浏览通过cms管理的新闻,活动,同事信息等,信息肯定是动态的,并定期更新。我们计划在项目上使用spring mvc。关于这个问题的任何想法?

谢谢。

1 个答案:

答案 0 :(得分:0)

要实现这一点,您需要做一些事情:

  1. 如果要使用其他数据库,则可以将新资源添加到conf / Catalina / localhost / ROOT.xml文件中。如果您想使用dotCMS数据库来托管其他表,那么您可以跳过此步骤。

  2. 您可以在Java代码中使用DbConnectionFactory类获取数据库连接。现在您可以从数据库中读取数据。这是一个例子:     import java.sql.Connection;     import java.sql.ResultSet;     import java.sql.SQLException;     import java.sql.Statement;

    Connection conn = DbConnectionFactory.getConnection();
    Statement selectStatement;
    try {
      selectStatement = conn.createStatement();
      try {
        selectStatement.execute("SELECT * FROM your_table WHERE your_where_clause etc...");
        ResultSet result = selectStatement.getResultSet();
        if (result.next()) {
          .. do your stuff here...
          // for example:
          // Long dbId = result.getLong("Id");
          // String stringField = result.getString("stringFieldName");
          // int intField = result.getInt("intFieldName");
        } finally  {
          selectStatement.close();
        }
      } catch (SQLException e1) {
         // Log the error here
      }
    

    }

  3. 如果要在速度中使用此数据,则需要创建一个viewtool。在此处详细了解:http://dotcms.com/docs/latest/DynamicPluginsViewtool