JPA關於entityManager執行原生sql,得到結果集

@PersistenceContext
EntityManager entityManager;

 

public List<ITAssets> listByWhere(Map<String,Object> map,Integer pageIndex, Integer pageSize) {//通過map傳遞查詢條件
    StringBuilder sql = new StringBuilder();
    sql.append("select * from t_a_it_assets where 1 =1 ");
    if(map.get("code") != null){
        sql.append("and code = '"+ map.get("code").toString() + "'");
    }
    if(map.get("computerName") != null){
        sql.append("and computer_name = '"+ map.get("computerName").toString() + "'");
    }
    if(map.get("productCode") != null){
        sql.append("and product_code = '"+ map.get("productCode").toString() + "'");
    }
    if(map.get("modifyType") != null){
        sql.append("and modify_type = '"+ map.get("modifyType").toString() + "'");
    }
    if(map.get("modifyDate") != null){
        sql.append("and modify_date = '"+ map.get("modifyDate").toString() + "'");
    }
    //實體管理器操作原生sql
    Query query = entityManager.createNativeQuery(sql.toString(),ITAssets.class);//後面的參數是因爲entityManager得到的結果是Objetc類型的,因此要轉換爲需要的對象

    // 設置分頁
    query.setFirstResult(pageIndex * pageSize);//從數據庫的第幾條數據開始查詢
    query.setMaxResults(pageSize);//表示每一頁的數據量

    // 獲取分頁查詢結果集
    List<ITAssets> list = query.getResultList();
    return list;

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章