【问题标题】:Jdbc Template and MySql interaction for Frequently Changing Queries频繁变化查询的jdbc模板和MySql交互
【发布时间】:2010-05-05 13:56:52
【问题描述】:

在 JDBC 模板中实现的 DAO 层使用了一些查询

String longQuery = ".....";
public List<AnObject> findObjectsBySomething(Something s) {
    return getJdbcTemplate().queryForObjects(longQuery, myRowMapper, s);
}

longQuery 会经常更改,但我不想在源代码中直接管理它。你如何处理这件事?我需要 jdbc 模板源代码,以及至少在 mysql 中设置它的基础知识。

其他要求:

  • 不能是视图,我已经尝试过了,但我的查询太复杂(派生表)
  • 需要跨同台服务器上的其他mysql数据库进行查询
  • 需要返回一个 ID 列表,可能有很多,可能有几千个

【问题讨论】:

  • 我不确定问题是什么...如何存储这些查询?
  • 我不希望将查询存储在 java 文件中,老实说,我更希望它在数据库中,而不是在文本文件或类似文件中,但我不是确定要做什么

标签: java mysql domain-driven-design jdbctemplate


【解决方案1】:

这个查询有何不同?您可以将它们存储为文件(DAO_NNN.sql,其中 NNN 是特定 SQL 语句的 id)或将它们存储在 XML 文件中。

【讨论】:

  • 我更喜欢将其存储在数据库中,更像是存储过程
  • 您希望保留在数据库中的 SQL 语句以访问数据库 :) 我会说这不是一个好主意 :)
  • 我还是没有大图……你能给我举个例子吗?
  • 我的应用程序使用了一个将来可能需要更改的查询,我根本不希望它存储在应用程序代码中,我不希望 SQL 在字符串中,我不希望我不希望它在文本文件中,我不希望它以不受数据库管理的任何方式存储。我并不是说我想将它存储在数据库的表中,我希望它存储在函数/视图/存储过程中,这样代码按名称引用它,我可以稍后在 DB 中动态更改它
猜你喜欢
  • 2016-11-27
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
  • 1970-01-01
  • 1970-01-01
  • 2017-10-19
  • 2016-01-04
相关资源
最近更新 更多