gpt4 book ai didi

访问数据库的 Java 有效策略

转载 作者:搜寻专家 更新时间:2023-10-31 20:07:24 26 4
gpt4 key购买 nike

一个简单的问题:在 Java/JDBC 中访问数据库的更有效方法是什么?我是一名 Web 开发人员,我想编写一些可重用和可扩展的代码。
对我来说有趣的是像 ResultSupport 这样的工具的使用:它在资源使用方面是否过于广泛?
你有什么建议?

最佳答案

不仅仅是 JDBC 特定的,只是一般的 SQL 东西

  1. 如果您必须多次重新运行查询,请使用 PreparedStatement。如果可用,请使用存储过程。这显然是不可移植的,所以 YMMV。

  2. 如果您不使用 ResultSet 或 Statement,请始终将其关闭。关闭 Statement 将自动关闭与该 Statement 关联的所有 ResultSet。关闭 ResultSet 仍然是一个好习惯。

  3. 尝试限制可以查询的内容,例如。 select * from orders where order_date between XXX and yyy.在 MySQL 中,查询可以是全表扫描或“范围”,具体取决于返回的数据量。因此,决定您希望您的查询有多“灵活”

  4. 如果您使用的是 MySQL,请使用 explain 来优化您的查询。如果您使用的是 JPA,那么您将看不到生成的 SQL。 (这不是严格意义上的 JDBC)您可能希望在 ORM 管理器上启用日志记录以显示使用的 SQL 语句。然后使用 explain 对其进行优化。如果 ORM 生成一个非常复杂的查询,您可能想要使用 @NamedNativeQuery

  5. 如果您的 JDBC 驱动程序支持批量更新,则使用它。 PreparedStatement 和 ResultSet 支持批量更新。

  6. 您还可以控制提交。如果您正在执行大量更新,最好将其关闭。自己调用 commit()。

关于访问数据库的 Java 有效策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2601875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com