rubbish-db / チュートリアル / DAOを自動生成する / DAO


[ rubbish-db ]

記述ルール

テーブル名

  • 定数TABLEにテーブルに対応するJavaBean?をセットする

SELECT

  • メソッド名はselect〜ではじめる
  • 検索条件のカラム名はメソッドの仮引数名から取得する
    • メソッドの仮引数名はソースコードを実行時にパースして取得する
  • 戻り値が配列/Listの場合は複数件、それ以外場合は1件のレコードを返す

UPDATE

  • メソッド名はupdate〜ではじめる
  • 検索条件のカラム名はメソッドの仮引数名から取得する
    • メソッドの仮引数名はソースコードを実行時にパースして取得する
  • 更新するカラムはSETインターフェースを実装するオブジェクトから取得する
    • MapHandler?を使ってください。
    • FSETクラスはフィールドの情報を更新するカラムの情報に変換する
  • 戻り値がvoidの場合は何も返さない。それ以外の場合は更新件数を返す

DELETE

  • メソッド名はdelete〜ではじめる
  • 検索条件のカラム名はメソッドの仮引数名から取得する
    • メソッドの仮引数名はソースコードを実行時にパースして取得する
  • 戻り値がvoidの場合は何も返さない。それ以外の場合は更新件数を返す

INSERT

  • メソッド名はinsert〜ではじめる
  • 引数は配列/List/JavaBean?のいずれか
  • 戻り値がvoidの場合は何も返さない。それ以外の場合は更新件数を返す

件数取得

  • メソッド名はcount〜ではじめる
  • 検索条件のカラム名はメソッドの仮引数名から取得する
    • メソッドの仮引数名はソースコードを実行時にパースして取得する
  • 戻り値はint/Integerのいずれか

DAO

package sample.hsqldb.dao;

import java.util.Date;
import java.util.List;

import rubbish.db.dao.proxy.sql.SET;
import sample.hsqldb.bean.Book;

/**
 * BookDAO
 * 
 * @author $Author: sugawara $
 * @version $Revision: 1.6 $
 */
public interface BookDAO {

    public static final Class TABLE = Book.class;

    /////////////////////////////////////////////////////////////////

    public Book selectByPK(String publisher, String id);

    public Book[] selectByPublisher(String publisher);

    public List selectById(String id);

    public Book[] selectByPublisherAuthorIssue_date(String publisher, String author, Date issue_date);

    /////////////////////////////////////////////////////////////////

    public int updateByPK(String publisher, String id, SET set);

    public Integer updateByPublisher(String publisher, SET set);

    public void updateById(String id, SET set);

    public int updateByPublisherAuthorIssue_date(String publisher, String author, Date issue_date, SET set);

    /////////////////////////////////////////////////////////////////

    public int deleteByPK(String publisher, String id);

    public Integer deleteByPublisher(String publisher);

    public void deleteById(String id);

    public int deleteByPublisherAuthorIssue_date(String publisher, String author, Date issue_date);

    /////////////////////////////////////////////////////////////////

    public int insert(Book book);

    public Integer insert(Book[] books);

    public void insert(List books);

    /////////////////////////////////////////////////////////////////

    public int countByPK(String publisher, String id);

    public Integer countByPublisher(String publisher);

    public int countById(String id);

    public int countByPublisherAuthorIssue_date(String publisher, String author, Date issue_date);

}