1.一種基于Java EJB平臺(tái)的實(shí)體BEAN通用查詢(xún)方法,其特征在于:包含以下幾個(gè)步驟:
步驟一、創(chuàng)建實(shí)體對(duì)象查詢(xún)結(jié)果數(shù)據(jù)集類(lèi)DataSet,將查詢(xún)出來(lái)的數(shù)據(jù)進(jìn)行封裝;
步驟二、創(chuàng)建查詢(xún)條件類(lèi)QueryCondition,主要封裝字段名稱(chēng)、參數(shù)類(lèi)型、操作符、參數(shù)值及子查義條件;
步驟三、創(chuàng)建查詢(xún)條件設(shè)定類(lèi)QueryConditionSetting,定義等于、大于、大于等于三個(gè)常量,及QueryCondition集合;同時(shí),提供AND查詢(xún)條件方法addAndQueryCondition,OR查詢(xún)條件方法addORQueryCondition,獲取查詢(xún)條件方法getQueryConditions;
步驟四、增加排序類(lèi)OrderColumn,包括field字段與排序方向direction字段;
步驟五、創(chuàng)建排序設(shè)置類(lèi)OrderBySetting,包括相關(guān)的常量ASC與DESC及變量List<OrderColumn>orderColumns;
步驟六、創(chuàng)建查詢(xún)工具類(lèi)QueryTools,提供方法createQuery,封裝相關(guān)的sql語(yǔ)句,最后返回Query值;
步驟七、在客戶(hù)端調(diào)用對(duì)應(yīng)的Service類(lèi)里面的findList方法得到DataSet值,然后通過(guò)dataSet.getList()方法返回所要的list集合數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的一種基于EJB平臺(tái)的實(shí)體BEAN通用查詢(xún)方法,其特征在于:將HQL語(yǔ)句中常用的WHERE、AND、OR、ORDER BY、LEFT JOIN關(guān)鍵字所涉及到的語(yǔ)句進(jìn)行封裝,在封裝的基礎(chǔ)上使用EJB的EntityManager類(lèi)進(jìn)行查詢(xún)。
3.根據(jù)權(quán)利要求1所述的一種基于EJB平臺(tái)的實(shí)體BEAN通用查詢(xún)方法,其特征在于:所述的步驟一封裝得數(shù)據(jù)包括總行數(shù)totalRows、每頁(yè)行數(shù)rowsPerPage、總頁(yè)數(shù)totalPages、當(dāng)前頁(yè)數(shù)pageIndex、及實(shí)體對(duì)象列表List<T>datas。
4.根據(jù)權(quán)利要求2所述的一種基于EJB平臺(tái)的實(shí)體BEAN通用查詢(xún)方法,其特征在于:所述的步驟一封裝得數(shù)據(jù)包括總行數(shù)totalRows、每頁(yè)行數(shù)rowsPerPage、總頁(yè)數(shù)totalPages、當(dāng)前頁(yè)數(shù)pageIndex、及實(shí)體對(duì)象列表List<T>datas。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的一種基于EJB平臺(tái)的實(shí)體BEAN通用查詢(xún)方法,其特征在于:所述的步驟六創(chuàng)建查詢(xún)工具類(lèi)QueryTools,同時(shí)提供另外方法getEntityListByStartPosition與getDataSetByStartPosition,getEntityListByStartPosition內(nèi)部使用return query.getResultList(),得到數(shù)據(jù)的list集合;getDataSetByStartPosition在getEntityListByStartPosition方法基礎(chǔ)上,使用DataSet類(lèi)進(jìn)行封裝。
6.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的一種基于EJB平臺(tái)的實(shí)體BEAN通用查詢(xún)方法,其特征在于:所述的findList方法封裝QueryTools里的getDataSetByStartPosition方法。
7.根據(jù)權(quán)利要求5所述的一種基于EJB平臺(tái)的實(shí)體BEAN通用查詢(xún)方法,其特征在于:所述的findList方法封裝QueryTools里的getDataSetByStartPosition方法。