1. 程式人生 > >關於Dao分層理解與例子詳解--個人記錄

關於Dao分層理解與例子詳解--個人記錄

      一:電子寵物的DAO分層

     1.cn.jbit.epet.dao //與資料庫連線,對錶增刪改查的標準模板

       {

         1)BaseDao

         2)MasterDao-interface

         3)PetDao-interface

         4)PetTypeDao-interface

       }

     2.cn.jbit.epet.dao.impl//繼承BaseDao和介面,例項化增刪改查--SQL的拼接

     {

        1)MasterDaoSQLServerImpl

        2)PetDaoSQLServerImpl

        3)PetTypeSQLServerImpl

     }

    3 cn.jbit.epet.entity//類的宣告

      {

        1)Master

        2)Pet

        3)PetTypeManager

      }

  4 cn.jbit.epet.manager //流程實現

  {

    1)MasterManager

    2)PetTypeManager

  }

 5 cn.jbit.epet.test

    Test.java

二:Dao 包內的SQL模板分析

/**
	 * 增、刪、改的操作
	 * @param sql 預編譯的 SQL 語句          
	 * @param param 預編譯的 SQL 語句中的‘?’引數的字串陣列          
	 * @return 影響的行數
	 */
	public int exceuteUpdate(String preparedSql, Object[] param) {
		PreparedStatement pstmt = null;
		int num = 0;
		conn =  getConnection(); 
		try {
			pstmt = conn.prepareStatement(preparedSql);
			if (param != null) {
				for (int i = 0; i < param.length; i++) {
					pstmt.setObject(i + 1, param[i]); // 為預編譯sql設定引數
				}
			}
			num = pstmt.executeUpdate(); 
		} catch (SQLException e) {
			e.printStackTrace();
		} finally{
			closeAll(conn, pstmt, null);
		}
		return num;
	}