W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
框架中提供了一個專門用于執(zhí)行esql和sql的api類。esql就是sql語句,但是只從where條件關(guān)鍵字開始編寫的后面部分,該api類是
org.myhibernate.core.method.Query , 獲取方式如下
Template<Product> template=new ProxyTemplate(Product.class).getInstance();
Query<Product> query=template.getQuery();
try
{
// ???
} catch (Exception e) {
e.printStackTrace();
}finally
{
template.close();
}
第一組查詢api方法如下
public int query(String esql) 該方法返回esql查詢后返回的結(jié)果數(shù) ,查詢的是所有數(shù)據(jù)的id值,是框架內(nèi)存分頁
public List<T> getResults(int start,int end) 該方法用以對上面查詢的結(jié)果進行分頁獲取
public List<T> queryAll() 獲取所有結(jié)果
public List<T> queryAll(String esql,boolean isCache) 獲取所有結(jié)果,并可以傳入esql條件過濾,和指定是否緩存
如下獲取滿足條件的第10到20條記錄示例
Template<Product> template=new ProxyTemplate(Product.class).getInstance();
Query<Product> query=template.getQuery();
try
{
int count=query.query("where price>50");
List<Product> products=query.getResults(10, 20);
} catch (Exception e) {
e.printStackTrace();
}finally
{
template.close();
}
如下獲取滿足條件的所有記錄 示例
Template<Product> template=new ProxyTemplate(Product.class).getInstance();
Query<Product> query=template.getQuery();
try
{
List<Product> products= query.queryAll("where price>50", true);
} catch (Exception e) {
e.printStackTrace();
}finally
{
template.close();
}
第二組查詢api方法如下
public List<T> where(String esql,int start,int size) 查詢滿足esql條件的記錄,并且分頁,采用的是數(shù)據(jù)庫分頁
public List<T> where(String esql,Object[] values,int start,int size) 查詢滿足esql 預編譯方式條件的記錄,并且分頁
這兩個方法和getCount() 獲取記錄條數(shù)一起使用
示例如下
Template<Product> template=new ProxyTemplate(Product.class).getInstance();
Query<Product> query=template.getQuery();
try
{
List<Product> products=query.where("where price>50", 0, 10);
int count=query.getCount();
} catch (Exception e) {
e.printStackTrace();
}finally
{
template.close();
}
第三組查詢api
Query中提供了幾個封裝的查詢方法,以find開頭的,讀者自己測試測試即可
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: