JDBC4.0の仕様が面白かったので使い方らしきものを書いてみた

JavaBeansクラスを作成

public class Sample {
    public int id;
    public String name;
}

BaseQueryを継承したインターフェースを作成

import java.sql.BaseQuery;
import java.sql.Select;
import java.sql.DataSet;

public interface SampleEntity extends BaseQuery {

    @Select("SELECT id,name FROM sample order by id desc")
    DataSet<sample> findAll();

    @Update("INSERT INTO sample VALUES(?1,?2)")
    int register(int id,String name);
}

クライアント作成

import java.sql.DriverManager;
import java.sql.Connection;

public class Client {
    public static void main(String[] args) throws Exception {
        Connection conn = DriverManager.getConnection(
            "jdbc:oracle:thin:@localhost:1521/sample",
            "hoge",
            "hoge"
        );
        SampleEntity se = conn.createQueryObject(SampleEntity.class);

        for(Sample s : se.findAll()) {
            System.out.println(s.id + ": " + s.name);
        }
        conn.close();
    }
}