在Java中使用属性文件中的值更新数据库

在Java中使用属性文件中的值更新数据库,java,properties,properties-file,Java,Properties,Properties File,我有一个属性文件(.properties),其中有一些值需要在数据库中更新 我可以用分隔符“#”指定键 table_name#column_name#where_clause_column#where_value = value_to_be_updated 上面将生成一个更新(生成update语句的逻辑由我用Java编写) 它工作得很好。我想知道这到底是正确的方法,还是有更好的方法可以做到这一点?方法看起来不错,而且..从性能角度来看,使用批处理更新会更好 preparedStatem

我有一个属性文件(.properties),其中有一些值需要在数据库中更新

我可以用分隔符“#”指定键

table_name#column_name#where_clause_column#where_value = value_to_be_updated
上面将生成一个更新(生成update语句的逻辑由我用Java编写)


它工作得很好。我想知道这到底是正确的方法,还是有更好的方法可以做到这一点?

方法看起来不错,而且..从性能角度来看,使用批处理更新会更好

    preparedStatement.setString(1, "value"); //will be called multiple times (as per your query parameters)
    preparedStatement.addBatch(); //will be called multiple times (one per query)
    preparedStatement.executeBatch(); //will be called only once (one per batch)

你的方法不会破坏任何东西,但除非你有专横的理由这么做,否则我认为你是在滥用属性文件。根据jdk属性,它是HashTable的一个子类,您不使用它作为散列或字典,而更多地使用它作为顺序文件。我认为分隔符和文件名(或路径)可以放在属性文件中,因为它们是配置元素。但是数据本身应该放在一个简单的文本文件中,您可以一次读取和处理一行,而无需将整个文件加载到内存中。多亏了缓冲,您在性能上不会损失任何东西。

  • 你使用的惯例太多了

  • Sql查询不是键/值对。 属性是作为键/值对管理的配置值。

更好的方法: 维护一个.sql文件,可以在开始时运行它。
直接写入查询将更加清晰。

更新查询有多复杂?因此,像所看到的字符串操作这样的简单查询应该很好。@Hirak-查询将像上面一样简单。显示java代码您为生成update语句编写了什么?这种方法很有效,但相应的属性应该始终是键值对的干净组合。但是使用多个值分隔符创建的键。我认为当您从java代码访问密钥时,您的代码看起来会很混乱。为什么不在另一个文件中为分隔符键创建一个单独的条目,并从那里调用它呢。这样,您的代码将是干净和可读的,但您可以忍受您的数据库中另一个属性文件的开销code@vikeng21-你能给我举个例子吗?
    preparedStatement.setString(1, "value"); //will be called multiple times (as per your query parameters)
    preparedStatement.addBatch(); //will be called multiple times (one per query)
    preparedStatement.executeBatch(); //will be called only once (one per batch)