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;

}
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读