java - sql查询放在哪里?代码风格。 java 。数据库连接

标签 java mysql coding-style jdbc

我正在使用 JDBC 驱动程序,我的问题是将 SQL 查询存储在一个合适的位置。关键是它将进行大量查询。

Statement s = conn.createStatement ();
s.executeUpdate ("DROP TABLE IF EXISTS animal");
s.executeUpdate (
           "CREATE TABLE animal ("
           + "id INT UNSIGNED NOT NULL AUTO_INCREMENT,"
           + "PRIMARY KEY (id),"
           + "name CHAR(40), category CHAR(40))");`

改成这个...

Statement s = conn.createStatement ();
s.executeUpdate (StaticVariables.getDropTableAnimalQuery());
s.executeUpdate (StaticVariables.getCreateTableAnimalQuery());`

...并使用静态变量创建特殊类

public class StaticVariables {
    private static String dropTableAnimalQuery = "DROP TABLE IF EXISTS animal";

    private static String createTableAnimalQuery = "CREATE TABLE animal ("
           + "id INT UNSIGNED NOT NULL AUTO_INCREMENT,"
           + "PRIMARY KEY (id),"
           + "name CHAR(40), category CHAR(40))";

    public static String getDropTableAnimalQuery() {
        return dropTableAnimalQuery;
    }

    public static String getCreateTableAnimalQuery() {
        return createTableAnimalQuery;
    }
}

也许有人有更好的方法来解决这个问题

最佳答案

讨厌将静态常量放入接口(interface)中的习惯用法,例如您的StaticVariable示例。

我更喜欢在最大程度使用常量的类中保留常量。如果实现接口(interface)的许多子类需要常量,我将向接口(interface)添加常量,但也会实现一些方法。

关于java - sql查询放在哪里?代码风格。 java 。数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541990/

相关文章:

c# - Resharper 正确吗?

java - 更好的客户端/服务器套接字系统解决方案

java - 在sharedprefs中存储 secret 数据 - android

java - 管理 SDK 目录 api 返回成员类型等于 "CUSTOMER"

mysql - 根据特定属性选择属性

php - 如何为以下任务获取正确的 sql select 函数

javascript - style.display ='none' 不适用于 chrome 中的选项标签,但它适用于 firefox

java - 如何在不启动新进程的情况下再次订阅 Observable?

c# - 我的 Webforms 数据存储在哪里?

c - 了解 c 中不同风格的#defines