工具類編寫思路擴充套件之泛型反射

2021-07-29 05:45:20 字數 857 閱讀 5309

public class

admindao

extends

basedao

{}public class

accountdao

extends

basedao

{}public class

basedao

】type types = pt.getactualtypearguments();

// 獲取資料的第乙個元素:accout.class

clazz = (class) types[0];

// 表名 (與類名一樣,只要獲取類名就可以)

tablename = clazz.get******name();

}/**

* 主鍵查詢

* @param id 主鍵值

* @return 返回封裝後的物件

*/public t findbyid(int id) catch (sqlexception e)

}/**

* 查詢全部

* @return

*/public listgetall() catch (sqlexception e)

}}

沒有特別複雜的地方,就是有一些細節需要注意:

首先,type是任何型別預設的介面;在tablename = clazz.get******name();這裡要是用這個方法,不能使用getname():方法,getname()方法獲取到的是全路徑名,不能作為sql查詢語句中的表名,這裡一定要注意的是隱含的對映繫結,表名和實體類名要相同,才能這樣的去呼叫和使用。這樣如果達到條件即可對任意表進行通用的查詢工作,以達到工具的目的。

C 泛型 泛型類擴充套件

泛型 更準確的使用一種以上的型別 方式 泛型允許我們宣告型別引數化的 我們可以用不同的型別進行例項化 也就是說,我們可以用 型別佔位符 型別引數 來宣告,然後在建立例項時提供真實型別 泛型不是型別,而是型別的模板 c 提供了5種泛型 類 結構 介面 委託和方法。前面四個是型別,方法是成員。一 泛型類...

泛型之泛型類

public class a 構造引數型別上使用泛型 public a t t 方法返回值上使用泛型 public t gett 方法的引數上使用泛型 這是泛型類的方法,而不是泛型方法 public void sett t t 方法的返回值和引數型別上使用泛型 public t foo t t pu...

泛型之泛型類

public class a 構造引數型別上使用泛型 public a t t 方法返回值上使用泛型 public t gett 方法的引數上使用泛型 這是泛型類的方法,而不是泛型方法 public void sett t t 方法的返回值和引數型別上使用泛型 public t foo t t pu...