3

groovyでデータベースサーバーに接続するには、既存のデータベースが必要なようです。しかし、新しいデータベースを作成したい場合はどうすればよいでしょうか? MySQL に接続しているときに groovy でデータベースを作成することは可能ですか? もしそうなら、どのように?前もって感謝します。

4

4 に答える 4

5

ここで言及する価値があると思われる追加の「落とし穴」の 1 つは、Groovy Sql クラスが実行メソッドへの GString 入力での SQL インジェクションから保護しようとすることです。したがって、GString の補間を使用して動的に MySQL データベースを作成しようとしている場合、 このような...

sql.execute("CREATE DATABASE ${someName}")

MySQLSyntaxErrorException で失敗します。これは、補間された変数 (つまり CREATE DATBASE 'foo') を一重引用符で囲むためだと思いますが、これは無効な構文です。これを修正するには、次のように、execute() に渡す前に GString を解決するだけです...

sql.execute("CREATE DATABASE" + "${someName}")

于 2014-01-27T14:49:38.593 に答える
4

MySQL に接続するときにデータベース名を含める必要はありません。名前を指定しない場合、データベースは選択されず、次のコマンドを実行して DB を作成できます。

import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:mysql://localhost:3306","root","","com.mysql.jdbc.Driver")
sql.executeUpdate("create database newDB")
于 2013-09-07T22:04:23.113 に答える