Thursday, February 14, 2013

jOOQ

这个小工具不像 Hibernate 等那么 heavy,似乎比较容易帮助写 SQL(特别对怎么写 SQL 不是太熟悉的人来说)。之外,当然还可以帮助你执行(需要建立到 DataSource 或者 DB connection 的连接),接口比较简单,适合轻量级应用,停留在 table 级(不需要映射到对象)的用途,下面是个简单的例子,展示如何生成 SQL。
import org.jooq.impl.Factory ;
import org.jooq.SQLDialect ;
import static org.jooq.impl.Factory.*;

public class App {
    public static void main( String[] args ) {
        Factory create = new Factory (SQLDialect.H2) ;
        String sql = create.select ()
            .from (tableByName ("foo"))
            .where (fieldByName ("bar").equal ("foobar"))
            .getSQL () ;
        System.out.println (sql);
    }
}