DSOL. software

DAOクラスの実装

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

DAOクラスの実装

自動生成DAO [#icf327a7]


  • daoパッケージにあるsuffixがBaseDAOのクラスです。
  • 各エンティティ毎のDAOはデータベースのスキーマ情報により自動生成されます。
以下の基本的な機能は実装済みです。
機能 メソッド名
PK検索 findByPK
挿入 save
更新 update
1key検索 findByXXXX

独自DAO [#sd350cdd]

必ず以下の実装方法1(Criteria)または実装方法2(HQL)で実装してください。&br;この2つの実装方法を採用する限り、SQLインジェクション、クロスサイトスクリプティングによる当システムへの攻撃を回避することができます。;


  • daoパッケージに{テーブル名}DAOという
何も実装していないクラスがありますので、

このクラスにメソッドを随時追加実装して下さい。

public class EmpTblDAO extends EmpTblBaseDAO
{
   /**
    * コンストラクタ
    * @throws DaoException
    */
   public EmpTblDAO(Session session) throws DaoException {
       super(session);
   }
   // 必要に応じて追加実装して下さい。
}

実装方法1(Criteria)


org.hibernate.Criteriaとorg.hibernate.criterionパッケージのAPIを駆使し、
データベースからレコードを取得する。

(empNameでlike検索をする例)
public List getEmpList(String empName){
    Criteria criteria = getSession().createCriteria(Emp.class);
    criteria.add(Restrictions.like("empName", "%" + empName + "%"));
    criteria.list();
}

実装方法2(HQL)


HQL文を作成しデータベースからレコードを取得する。

(empNameでlike検索をする例)
public List getEmpList(String empName){
    String hql = "from Emp where empName like :empNo";
    Query query = getSession().createQuery(hql);
    query.setString("empNo", "%" + empName + "%");
    query.list();
}

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー