使用MySQL和JDBC运行.sql脚本

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

我开始在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张表要创建,这看起来不太好。

有没有一种方法可以从MySQLJDBC运行一个.sql脚本?

提问于
用户回答回答于

好的。可以在你的项目中使用这个类(由于文件长度而张贴在pastebin上)。但是记住要保存Apache许可信息。

JDBC ScriptRunner

它是移除依赖项的iBatiscriptRunner的Ripoff。

你可以这样用它

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

就这样

用户回答回答于

我对此做了大量的研究,发现spring。我觉得用SimpleJdbcTestUtils.executeSqlScript(...)实际上是最好的解决方案,因为它是更多的维护和测试。

SimpleJdbcTestUtils是不受欢迎的。你应该用JdbcTestUtils.

扫码关注云+社区