ssh框架中關於泛型的 使用

2021-07-25 22:27:02 字數 1932 閱讀 8270

1.得到.class 型別

private final class classt;

/*** 把泛型的引數提取出來的過程放入到構造器中寫,因為當子類

* 建立物件的時候,直接呼叫父類的建構函式

*/@suppresswarnings("rawtypes")

public basedaoimpl()

呼叫方式:this.classt.get******name()

2.得到.class 型別的id

private classmetadata classmetadata;//元資料,描述持久化類的物件

public void init()

呼叫的方式:this.classmetadata.getidentifierpropertyname()

3.basedaoimpl中的getcount方法

(1)方法的引數為basequery,在該basequery中有乙個方法buildwhere,利用

該方法可以得到查詢條件的map形式

(2)拼接hql語句的where條件語句

(3)動態及的傳入引數的值

/*** 查詢總數

*/@override

public int getcount(final basequery basequery)

//列印hql語句

system.out.println("hql語句:"+buffer.tostring());

//存放乙個hql語句

query query = session.createquery(buffer.tostring());

/*** 把where條件中的引數傳遞值的過程

*/for (entryentry : keyvalues.entryset())

long count  = (long)query.uniqueresult();

return count.intvalue();//long轉化為int

}});

}4.findpageresult方法

public pageresultfindpageresult(final basequery basequery)

return this.hibernatetemplate.execute(new hibernatecallback>()

//設定當前頁的第一行在集合中的位置

int firstresult = (basequery.getcurrentpage()-1)*basequery.getpagesize();

//設定每頁顯示的做多的行數

int maxresult = basequery.getpagesize();

//用hibernate的方式設定分頁

query.setfirstresult(firstresult).setmaxresults(maxresult);

//返回分頁後的結果集

listrows = query.list();

//把結果設定到pageresult

pageresult.setrows(rows);

return pageresult;

}});

}5.根據ids查詢一堆資料

/*** 根據ids獲取一堆資料

*/@override

public setgetentriesbyids(serializable ids) else

}stringbuffer hql = new stringbuffer();

listlist = this.hibernatetemplate.find(hql.tostring());

return new hashset(list);//講list轉化成乙個set

關於泛型的使用

自從jdk1.5之後推出了新特性 泛型,相比於直接用list,list避免了型別轉換帶來的繁雜操作。同時在泛型的應用過程中,避免了直接使用list本類所帶來的型別轉換的錯誤,例如 list list new arraylist list.add 34 list.add 34 是可以編譯通過的,只有在...

關於泛型中的理解

public static t min listt 對於上面定義的泛型方法min中,comparable指的是乙個介面而不是乙個類,這點應該注重注意下。如果想呼叫這個方法,最關鍵的是傳入的t型別必須已經是實現了comparable介面中compareto 這個方法。比如說下面的這個student類 ...

C 中泛型的使用

命名空間 using system.collections.generic 普通陣列 在宣告時必須制定陣列的長度和資料型別 arraylist 陣列元素資料型別和長度不受限制,但效率稍微低些 泛型 類似於陣列功能,其長度不受限制,資料型別在宣告時必須指定。c 中預定義了集中常用的泛型類,如 list...