MySQLのDAO basedao

主な機能

データベースパッケージの操作方法

CRUDはbasedaoの内側の内側にあります 

アップデートの追加および削除の内側dbutilsを達成することができます

クエリ内のdbutilsを達成することができ、問い合わせラインとマルチライン

クエリ結果は、Beanのパッケージオブジェクトを返します。

相続の具体的な方法basedaoその他の必要性を達成するために時間を使って

パブリッククラスUserDaoImplはBaseDao <ユーザー>実装を拡張しUserDao
com.itstaredu.bookstore.daoパッケージ; 

/ ** 
 * @version 1.0 
 * @date 2019年12月5日21:32 
 ** / 

インポートcom.itstaredu.bookstore.utils.JDBCUtils; 
インポートorg.apache.commons.dbutils .QueryRunner; 
インポートorg.apache.commons.dbutils.handlers.BeanHandler; 
インポートorg.apache.commons.dbutils.handlers.BeanListHandler; 

インポートjava.lang.reflect.ParameterizedType; 
インポートjava.lang.reflect.Type; 
Javaソースコードの読み込み。 sql.Connection; 
インポートます。java.sql.SQLException; 
インポートはjava.util.List; 

/ ** 
 *データベースの基本的な操作のカプセル化の方法
 *ラインすべてのCRUDテーブルコールがある
 *オブジェクトのメソッド
 * 
 * / 
BaseDaoクラスパブリック<T> { 
    プライベートクラス<T>型。
    QueryRunner queryRunner新しい新しいQueryRunner =プライベート(); 

    公共BaseDao(){ 
        クラス= this.getClass CLA()<BaseDaoが伸びる?>; 
        / ** 
         *一般的な親と
         * / 
        は、ParameterizedType TPのために= cla.getGenericSuperclass(は、ParameterizedType用) (); 
        タイプ[]タイプtp.getActualTypeArguments =(); 
        TYPE =(クラス<T>)タイプ[0]; 
    } 

    / ** 
     *データベース操作がdbutilsを提供するためのツール
     * CRUD 
     * / 
    パブリックINT更新(文字列SQL、のparamsオブジェクト...){ 
        / ** 
         *外側に研磨工程ではないことは、処理に面倒です
         * / 
        int型の更新= 0; 
        接続接続JDBCUtils.getConnect =();
        試す{ 
            T = queryRunner.query(CONN、SQL、新しいBeanHandler <T>(タイプ)、paramsは)。
            更新= queryRunner.update(接続、SQL、paramsは)。
        }キャッチ(のSQLException E){ 
            e.printStackTrace(); 
        }最後に{ 
            JDBCUtils.releaseConnection(接続)。
        } 
        更新を返します。
    } 

    / ** 
     * ResultSetHandler将结果转换为对象的处理程序
     ハンドルから返されるオブジェクト・クラス()から作成される
     * / 
    パブリックT getBean(文字列のSQL、オブジェクト...のparams){ 
        接続CONN = JDBCUtils.getConnect( ); 

        T T = NULL; 
        試す{ 
            e.printStackTrace(); 
        } 最後に {
        }キャッチ(のSQLException E){ 
            JDBCUtils.releaseConnection(CONN)。
        } 
        Tを返します。
    } 

    パブリックリスト<T> getListBean(文字列のSQL、オブジェクト...のparams){ 
        接続CONN = JDBCUtils.getConnect()。
        リスト<T>リスト= NULL; 
        試す{ 
            リスト= queryRunner.query(CONN、SQL、新しいBeanListHandler <T>(タイプ)、paramsは)。
        }キャッチ(のSQLException E){ 
            e.printStackTrace(); 
        }最後に{ 
            JDBCUtils.releaseConnection(CONN)。
        } 
        リストを返します。
    } 
}

  

おすすめ

転載: www.cnblogs.com/liubosong/p/11993705.html