javascript - 在 Java 中创建常见的 SQL 操作?

标签 javascript java

有没有办法在 Java 中以字符串数组的形式创建表单作弊?

该数组将保存稍后要执行的所有查询,以进行 CRUD 操作。

I know in javascript we can do this :

export default queryArray = {
   "INSERT" : "INSERT INTO TABLE (id,name,age) VALUES (NULL,"alex",23)",
   "SELECT" : "SELECT * FROM TABLE"
  }

然后我们可以像这样使用它:

queryArray["INSERT"]...

这可以用 Java 实现吗?

最佳答案

Java 没有 JS 片段中的示例之类的东西。

但是,您的问题的解决方案 1 可以使用 Map<Key, Value> 来完成。 .
哪里Key将进行CRUD操作并值适当的SQL命令

为了方便起见,我建议创建 enum用于您的SQL 键
您可以使用EnumMap这里。这是一个典型的映射,其键为枚举常量。

我提醒解决方案2更简单,您可以仅使用枚举,它将为每个常量保存适当的值。

代码看起来像:

import java.util.EnumMap;
import java.util.Map;

enum SqlCommands {
    SELECT("SELECT * FROM ?"),
    INSERT("INSERT INTO ?() VALUES()"),
    UPDATE("UPDATE ? SET ?=? WHERE ?"),
    DELETE("DELETE FROM ? WHERE ?");

    private String sqlOperation;

    SqlCommands(String sqlOperation) {
        this.sqlOperation = sqlOperation;
    }

    public String getSqlOperation() {
        return sqlOperation;
    }
}

public class SqlTemplatesDemo {

    public static final EnumMap<SqlCommands, String> map = new EnumMap<>(SqlCommands.class);
    static {
        map.put(SqlCommands.SELECT, "SELECT * FROM ?");
        map.put(SqlCommands.INSERT, "INSERT INTO ?() VALUES()");
        map.put(SqlCommands.UPDATE, "UPDATE ? SET ?=? WHERE ?");
        map.put(SqlCommands.DELETE, "DELETE FROM ? WHERE ?");
    }

    public static void main(String[] args) {
        System.out.println("Solution 1:");
        for (Map.Entry<SqlCommands, String> entry : map.entrySet()) {
            System.out.printf("Key: [%s] for value: [%s]\n", entry.getKey(), entry.getValue());
        }

        System.out.println("\nSolution 2:");
        for (SqlCommands sqlCommand : SqlCommands.values()) {
            System.out.printf("Enum key: [%s], and value: [%s]\n", sqlCommand, sqlCommand.getSqlOperation());
        }
    }
}

输出:

Solution 1:
Key: [SELECT] for value: [SELECT * FROM ?]
Key: [INSERT] for value: [INSERT INTO ?() VALUES()]
Key: [UPDATE] for value: [UPDATE ? SET ?=? WHERE ?]
Key: [DELETE] for value: [DELETE FROM ? WHERE ?]

Solution 2:
Enum key: [SELECT], and value: [SELECT * FROM ?]
Enum key: [INSERT], and value: [INSERT INTO ?() VALUES()]
Enum key: [UPDATE], and value: [UPDATE ? SET ?=? WHERE ?]
Enum key: [DELETE], and value: [DELETE FROM ? WHERE ?]

关于javascript - 在 Java 中创建常见的 SQL 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52793277/

相关文章:

java - 使用 Java 的桌面数据库应用程序

java - 匹配器断言两个对象

javascript - 如何使用 multer 或 body-parser 上传文件

javascript - Math.random() 生成单个随机数

javascript - 从动态生成的输入中获取发布数据

javascript - 在具有值的表单中使用图像作为选项

javascript - PageMethods 未定义错误

java - System.currentTimeMillis() 行为错误

java - 关于依赖共享的 Maven 多模块项目组合

java - 从父对象创建子对象的映射