読者です 読者をやめる 読者になる 読者になる

ゲンゾウ用ポストイット

Java、Groovy、Linux関連の備忘録

SQLiteを使ってみる

Groovy

クライアントアプリやjettyで動かすようなローカルアプリの場合には、軽量で小さなDBが欲しくなる。
SQLiteが使えるとかなり便利。

GroovyでSQLiteを使うサンプルを作成してみた。
emailテーブルを作成し、データを3レコードセット。
それを出力する例。

sqlite.groovy

#!/usr/bin/env groovy
@GrabConfig(systemClassLoader=true)
@Grab("org.xerial:sqlite-jdbc:3.7.2")
import groovy.sql.*

def dbfile = new File("./sqlite.db")

def url = "jdbc:sqlite:${dbfile.name}"
def driver = "org.sqlite.JDBC"

def gsql = Sql.newInstance(
    url
    ,driver
)

if( dbfile.size() == 0 ) {
    gsql.execute("""
        create table mails (
            id integer primary key,
            subject text,
            body text
        )
    """)

    3.times{ i ->
        gsql.execute("""
            insert into mails (
                id,
                subject,
                body
            )
            values (
                ${i+1},
                '件名${i+1}',
                '本文${i+1}'
            )
        """.toString())
    }
}


gsql.eachRow("""
    SELECT
        id
        ,subject
        ,body
    FROM
        mails
    ORDER BY
        id
"""){ row ->
    println "id:${row.id}, subject:${row.subject}, body:${row.body}"
}
広告を非表示にする