Groovyでデータベースに接続してみる⑤

Groovyでデータベースに接続してみます。

■Groovyでデータベースに接続

package sample

import groovy.sql.Sql

// GroovySQLで、データベース操作します。
// SQL文はダブルクォートで囲みます(シングルクォートだと動かなかった・・・)

// H2データベースを使用します。
// http://www.h2database.com/html/main.html


// H2データベースを起動
server = org.h2.tools.Server.createTcpServer().start()

// DB接続
def sql = Sql.newInstance( 'jdbc:h2:tcp://localhost/~/test', 'sa', '', 'org.h2.Driver' )

// テーブル作成(既にテーブルがある場合のエラーは無視)
try { sql.execute( "CREATE TABLE TEST ( NAME varchar(50), TEXT varchar(100) )" ) } catch( Throwable t ) {}

// INSERT
String name = 'test'
String text = 'text'
sql.execute( "INSERT INTO TEST( NAME, TEXT ) values ( ${name}, ${text} )" )

// UPDATE
text = 'text2'
sql.execute( "UPDATE TEST SET TEXT = ${text} WHERE NAME = ${name}" )

// SELECT
sql.eachRow( "select * from TEST" ) { row ->
  println row.NAME + " : " + row.TEXT
}

// DELETE
sql.execute( "DELETE FROM TEST WHERE NAME = ${name}" )

// 後処理
sql.close()

// H2データベースを停止
server.stop()


GroovySQLを使うと簡潔に書けます。
SQLのパラメータも、変数と自動バインドしてくれるので便利ですね。


また、今回は、H2データベースを使用しました。
Javaで作られているので、JARファイル1つでDB環境が作れます。
ちょっとした動作確認に最適です。