2013年10月8日火曜日

groovyとApache MetaModelでAccessテーブルに対してクエリーを実行する

groovyとApache MetaModelでAccessテーブルに対してクエリーを実行するには、以下のコードを実行します。
@Grab(group='org.eobjects.metamodel', module='MetaModel-full', version='3.4.5')
import org.eobjects.metamodel.*

dc = DataContextFactory.createAccessDataContext(new File("sales.mdb"))
// テーブルを指定
table = dc.getDefaultSchema().getTableByName("sales")
// 売上年月が2013年02月のデータを抽出
query = dc.query().from(table)
  .select("store_id", "sales")
  .where(table.getColumnByName("sales_month")).equals("201302").toQuery()
// Queryの表示
println query.toString()
// Queryの実行
ds = dc.executeQuery(query)
for(row in ds){
  // 店舗IDと売上を表示
  println row.getValue(0) + ":" + row.getValue(1)
}

クエリー対象のAccessテーブル

動作環境
groovy 2.1.7, JDK7 update40

0 件のコメント:

コメントを投稿