是否有可能软代码sql语句?

时间:2012-10-30 21:24:17

标签: java mysql sql hibernate

有人告诉我,可以软编码SQL查询而不是硬编码。就像我们在Java中解析JSON响应一样,我们可以通过下面的外部文件来实现:

abc:[
{
sql:"selecct count(*) from some_database",
count:"100"
}]

有可能吗?我怎么能这样做?链接或文章将不胜感激。我正在使用 Hibernate 。如何在Hibernate中通过外部文件运行SQL查询?

3 个答案:

答案 0 :(得分:1)

如果您使用的是Java,请尝试使用MyBatis

SQL语句放在资源XML文件中,代码按名称引用查询。这允许您在架构的详细信息发生更改时编辑XML,可能无需修改使用它们的代码。

答案 1 :(得分:0)

是。

例如在资源包中:

ResourceBundle bundle = ResourceBundle.getBundle();
PreparedStatement psmt = connection.prepareStatement(bundle.getString("users.query"));
....

或任何其他字符串。

答案 2 :(得分:0)

将SQL语句存储在变量中,或者如果要将变量动态添加到SQL语句本身,则从函数返回它们。

无论您通常将SQL查询作为字符串放在何处,只需将变量或函数调用放入。