2013年10月17日木曜日

groovyとApache MetaModelでテーブル・カラムを一覧表示する

groovyとApache MetaModelでテーブル・カラムを一覧表示するには、以下のコードを実行します。
@GrabConfig(systemClassLoader=true)
@Grab(group='postgresql', module='postgresql', version='9.1-901.jdbc4')
@Grab(group='org.eobjects.metamodel', module='MetaModel-full', version='3.4.5')
import org.eobjects.metamodel.*
import groovy.sql.Sql

def sql = Sql.newInstance(
  "jdbc:postgresql://localhost:5432/userdb",
  "postgres",
  "postgres",
  "org.postgresql.Driver")

dc = DataContextFactory.createJdbcDataContext(sql.getConnection())
// テーブルの一覧を表示する
for(tab in dc.getDefaultSchema().getTables())
{
  println "table:" + tab.getName()
  // テーブルのカラムを一覧表示する
  for(col in tab.getColumns())
  {
    println "  col:" + col.getName() + ":" + 
      col.getType() + "," + col.getNativeType() + 
      ":" + (col.isNullable()?"NULLABLE":"NOT NULL")
  }
}

動作環境
groovy 2.1.7, JDK7 update40

0 件のコメント:

コメントを投稿