【问题标题】:How to retrieve dynamic content from database?如何从数据库中检索动态内容?
【发布时间】:2012-11-12 10:40:52
【问题描述】:
我正在评估基于 java 的 cms 并选择一个作为我们的 cms,现在我正在学习 dotcms,我需要知道如何像传统的 jsp/bo 那样从 db 中检索内容,我是 dotcms 的新手,官方文档只告诉如何添加静态内容,但动态内容,比如运行一个sql并获取想要的数据,然后将它们放入页面。我们正在做一个内部网站,员工可以在其中浏览通过 cms 管理的新闻、事件、同事信息等,这些信息绝对是动态的并定期更新。我们计划在项目中使用spring mvc。对这个问题有什么想法吗?
谢谢。
【问题讨论】:
标签:
content-management-system
dotcms
【解决方案1】:
要让它发挥作用,您需要做一些事情:
如果您想使用不同的数据库,则可以将新资源添加到 conf/Catalina/localhost/ROOT.xml 文件中。如果您想使用 dotCMS 数据库来托管其他表,则可以跳过此步骤。
-
在您的 java 代码中,您可以使用 DbConnectionFactory 类获得数据库连接。现在您可以从数据库中读取数据。这是一个例子:
导入java.sql.Connection;
导入java.sql.ResultSet;
导入java.sql.SQLException;
导入 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
}
}
如果您想在速度中使用此数据,您需要创建一个视图工具。在此处阅读更多信息:http://dotcms.com/docs/latest/DynamicPluginsViewtool