1. 程式人生 > >類似hibernate的JDBC(java反射--dao層封轉,減少程式碼書寫)

類似hibernate的JDBC(java反射--dao層封轉,減少程式碼書寫)

利用java反射機制封轉dao層

封轉dao層,dao層可以不用再寫,只需傳入路徑

//呼叫封裝的介面,傳入類名

IDao<User> dao = new DaoImpl<User>("po.User");

只需一句話就可以自動生成增刪改查

測試:

資料庫:虛擬機器中安裝了mysql,原資料

測試方法:

public static void main(String[] args) {
		//呼叫封裝的介面,傳入類名
		IDao<User> dao = new DaoImpl<User>("po.User");
		
		//查詢全部
		List<User> list = dao.getAll();
		if(null!=list){
			System.out.println("當前資料個數為:");
			for (int i = 0; i < list.size(); i++) {
				User user = list.get(i);
				System.out.println(user.getId()+ " "+user.getName() );
			}
			System.out.println();
		}
		
		//根據id得到一條資料
		User one=dao.getone(14);
		System.out.println("id為14的是 "+one.getName());
		
		//更新,返回true更新成功
		one.setName("笑晗");
		boolean flag=dao.update(14, one);
		System.out.println("flag為"+flag);
		//增加一條資料
		//dao.add(T t);
		//根據id刪除
		//dao.delete(int id);
		//根據條件刪除
		
	}

控制檯結果: