使用 MySQL 和 JDBC 运行.sql脚本

2022-08-31 14:18:39

我开始在JDBC上使用MySQL。

Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql:///x", "x", "x");
stmt = conn.createStatement();
stmt.execute( "CREATE TABLE amigos" +
            "("+
            "id          int AUTO_INCREMENT          not null,"+
            "nombre      char(20)                    not null,"+
            "primary key(id)" +
            ")");

我有3-4个表要创建,这看起来并不好。

有没有办法从MySQL JDBC运行.sql脚本?


答案 1

还行。您可以在项目中在此处使用此类(由于文件长度而发布在 pastebin 上)。但请记住保留apache许可证信息。

JDBC ScriptRunner

它是iBatis ScriptRunner的剽窃,删除了依赖项。

你可以像这样使用它

Connection con = ....
ScriptRunner runner = new ScriptRunner(con, [booleanAutoCommit], [booleanStopOnerror]);
runner.runScript(new BufferedReader(new FileReader("test.sql")));

就是这样!


答案 2

我对此做了很多研究,并从春天找到了一个很好的利用。我认为使用实际上是最好的解决方案,因为它得到了更多的维护和测试。SimpleJdbcTestUtils.executeSqlScript(...)

编辑:已弃用。您应该使用 .更新了链接。SimpleJdbcTestUtilsJdbcTestUtils


推荐