spring date jpa 中返回map类型的方法

2019-07-24 01:46:11

参考地址1  spring date jpa 中返回map类型的方法

参考地址2 java:ja:Spring data jpa 返回map 结果集

找网上的资料,总结出两种spring date jpa 中使用sql查询返回出map的方法

StringBuffer hql = new StringBuffer();
    hql.append(" SELECT COUNT(c.id) waitPayOrder,COUNT(d.id) allOrder ");
    hql.append(" FROM (SELECT id FROM my_order WHERE create_date >= DATE_FORMAT(NOW(),'%Y-%m-%d') ");
    hql.append(" AND create_date <= DATE_FORMAT(DATE_SUB(NOW(),INTERVAL - 1 DAY),'%Y-%m-%d') ");
    hql.append(" AND order_status = 1) c RIGHT JOIN (SELECT id FROM my_order ");
    hql.append(" WHERE create_date >= DATE_FORMAT(NOW(),'%Y-%m-%d') AND ");
    hql.append(" create_date <= DATE_FORMAT(DATE_SUB(NOW(),INTERVAL - 1 DAY),'%Y-%m-%d')) d ON c.id = d.id ");
    Query query = em.createNativeQuery(hql.toString());
    query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
    @SuppressWarnings("unchecked")
    List<Map<String, Object>> rows = query.getResultList();1234567891011

这种方法会返回一个map的集合..但网上说的这种方法会损失一定的性能..所以看着情况而定吧.

第二种(网上的说法,但使用时没有成功):

Query query = em.createNativeQuery(hql.toString(),Map.class);Map<Stirng,Object> map = query.getHints();(使用这个方法返回的结果是null,不知道是不是用错了)List<Map<String, Object>> rows = query.getResultList();(使用这个方法会报错..所以还是只有第一种方法能正常使用,


  • 2019-12-04 10:46:26

    nuxt.js项目中全局捕获异常并生成错误日志全过程

     需求:客户在使用过程中页面报错时,可以生成错误记录传回服务器,以便改进。   步骤:     一.全局捕获异常,     二.发送到服务端,     三.生成错误日志。   一.全局捕获异常 如图,vue提供了errorHandle这个方法来处理全局异常,更多详细内容参见官网。

  • 2019-12-04 10:47:59

    nuxt.js项目中全局捕获异常并生成错误日志全过程

     需求:客户在使用过程中页面报错时,可以生成错误记录传回服务器,以便改进。   步骤:     一.全局捕获异常,     二.发送到服务端,     三.生成错误日志。   一.全局捕获异常 如图,vue提供了errorHandle这个方法来处理全局异常,更多详细内容参见官网。

  • 2019-12-04 10:48:18

    vue 项目资源文件 static 和 assets 不说区别直接使用?

    assets中资源会webpack构建压缩到你代码中,而static文件直接引用。 static 中长存放类包、插件等第三方的文件,assets里放属资源文件比如自己资源图片、css文件、js文件。 引入资源的方式static文件夹可以使用~/static/方式引入, assets文件夹可以使用 ~@/assets 方式引入

  • 2019-12-05 17:01:36

    Vue 结合 Axios 接口超时统一处理

    当网路慢的时候。又或者公司服务器不在内地的时候,接口数据请求不回来超时报错的情况相信大家肯定遇到过的,这里我把我公司项目请求超时的处理方法分享下,希望看过后有帮助。

  • 2019-12-05 17:13:40

    JS模板工具lodash.template的简单用法

    lodash是从underscore分支的一个项目,之前我写了一篇JS模板工具underscore.template的简单用法,lodash跟underscore很相似,这也简单介绍一下lodash的template方法。 先把underscore的文章中用过的代码贴过来,把underscore的js文件换成lodash的js,其他一字不改,然后我们试试: