java - 如何从字符串变量中分段读取数据?

标签 java

当您可以使用图表 ER 创建自己的数据库时,我正在创建网络应用程序。 一般来说,创建图表 ER 后,您可以按“生成数据库”按钮,然后应执行 SQL 代码。这是我的问题...
我有那个字符串:

CREATE USER "Company" IDENTIFIED BY "null"; 
CREATE TABLE Table0 (
);
CREATE TABLE Table1 (
);
CREATE TABLE Table2 (
);

并且因为“Oracle 的 JDBC 驱动程序可能只允许一次执行一个语句”,所以我需要分部分执行此代码。

谁能给我一个创建函数的示例,该函数将向临时字符串值写入从分号到分号的所有内容?
我的意思是什么?

例如:

// first loop iteration
var tmp = ... // tmp == "CREATE USER "Company" IDENTIFIED BY "null";"

// second loop iteration
var tmp = ... // tmp == "CREATE TABLE Table0 ();"

// third loop iteration
var tmp = ... // tmp == "CREATE TABLE Table1 ();"

// fourth loop iteration
var tmp = ... // tmp == "CREATE TABLE Table2 ();"

我在创建这种类型的循环时遇到问题。我真的不知道如何正确搜索这个字符串。

最佳答案

使用 String.split(),如下所示:

public static void main(String[] args) {
    String statementString = new String("CREATE USER \"Company\" IDENTIFIED BY \"null\";CREATE TABLE Table0 ();CREATE TABLE Table1 ();CREATE TABLE Table2 ();");
    String[] statementArray = statementString.split(";");
    for (String statement : statementArray) {
        System.out.println(statement);
    }
}

关于java - 如何从字符串变量中分段读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59739954/

相关文章:

java - AXIS2 轴故障 : this is a soap-encoded endpoint

java - 如何在模拟对象上使用 setter?

java - 如何在 JNA 中从 Java 发送指向 uint_32 的指针?

java - 使用 Eclipselink 从 OracleDB 获取数据时间较长

java - 当图形是连接的一部分时如何移动它们

java - Spring - Thymeleaf - Tomcat -> 无法正确处理 UTF-8 字符

java - 如何在lucene中查询int和float元素

java - 在 Multi-Tenancy 中调用 postgres 存储过程

java - Android - 在具有不同 R 导入的不同项目中重用类?

java - (需要)函数的 clojure 类路径问题?