2012年12月3日月曜日

GradleでJDBCドライバを使用してデータベースを操作する

Gradleで、JDBCドライバを使用してデータベースを操作する方法は、以下の通り。

import groovy.sql.Sql
apply plugin: 'groovy'
apply plugin: 'eclipse'
apply plugin: 'maven'
repositories { mavenCentral() }
configurations { driver }
dependencies { driver 'org.xerial:sqlite-jdbc:3.7.2' }
URLClassLoader loader = GroovyObject.class.classLoader
configurations.driver.each {File file ->
loader.addURL(file.toURL())
}
task jdbcSample << {
def sql = Sql.newInstance( 'jdbc:sqlite:test.db'
, ''
, ''
, 'org.sqlite.JDBC' )
sql.execute '''\
CREATE TABLE IF NOT EXISTS person(
id int primary key
,name varchar
)
'''
sql.execute '''\
INSERT OR IGNORE INTO person VALUES(
1
,'test'
)
'''
sql.eachRow( 'select * from person' ) {
int id = it.id
println "id:$id name:$it.name"
}
sql.close()
}
view raw build.gradle hosted with ❤ by GitHub

ビルドスクリプトでJDBCドライバを使用するには、Groovyのクラスローダーにドライバのクラスをロードしておく必要があるらしい。上記のビルドスクリプトを実行した結果は、以下の通り。

$ gradle -q jdbcSample
id:1 name:test

関連リンク

0 件のコメント:

コメントを投稿