使用SpringJPA 直接实现count(*)

 更新时间:2021年11月29日 16:37:31   作者:hikeboy  
这篇文章主要介绍了SpringJPA 直接实现count(*),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

SpringJPA 直接实现count(*)

刚开始使用JPA时,基本都依赖@query(SQL)注解通过原生sql来实现

根据编号统计条数:

方法一

@Query(" select count(t) from FollowerInfo t where investUserId = :invUserId")
    Integer findFollowerNumberByInvUserId(@Param("invUserId") Long invUserId);

这种原生的方式,跟直接写SQL没什么区别。虽然能实现功能,但是浪费了JPA的简洁简化代码的设计的优点。

网上看到另外一个方法:

List findAll(Specification spec);

在repository层findAll,然后在service层封装,获取list.size()来处理总条数问题。

这样避免了写SQL语句。

今天看了一下CrudRepository的源码 发现该接口源码里面有一个函数:

方法二

/**
     * Returns the number of entities available.
     * 
     * @return the number of entities
     */
    long count();

于是继承了CrudRepository 写了一个demo:

方法三

Long countByInvestUserId(Long investUserId);

一行代码就全部搞定! 效果跟方法1一样

(spring data jpa)jpa中使用count计数方法

spring data jpa中使用count计数方法很简单

直接在dao层写方法即可

int countByUidAndTenementId(String parentUid, String tenementId);

这样即可根据传入的字段查询即可。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java swing实现的计算器功能完整实例

    Java swing实现的计算器功能完整实例

    这篇文章主要介绍了Java swing实现的计算器功能,结合完整实例形式分析了java基于swing组件实现计算器布局与运算功能的具体操作技巧,需要的朋友可以参考下
    2017-12-12
  • Java之NoClassDefFoundError的原因及分析

    Java之NoClassDefFoundError的原因及分析

    在Java开发中,经常会遇到ClassNotFoundException和NoClassDefFoundError异常,ClassNotFoundException发生在编译时JVM无法找到类,而NoClassDefFoundError则发生在运行时JVM无法加载类,这两个异常虽然原因相似,但有本质区别
    2024-09-09
  • SpringBoot如何获取客户端的IP地址

    SpringBoot如何获取客户端的IP地址

    这篇文章主要介绍了SpringBoot如何获取客户端的IP地址问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • SpringBoot视图解析实现原理深入分析

    SpringBoot视图解析实现原理深入分析

    视图解析其实就是SpringBoot某一个controller的方法执行完成之后,它是跳转到那个页面。由于我们springboot项目默认打包为jar包,是形成压缩包的形式,而jsp又不支持压缩,所以我们SpringBoot不知JSP的,需要引入第三方模板引擎才可以处理
    2022-10-10
  • Java中的静态代码块使用解读

    Java中的静态代码块使用解读

    本文将深入探讨静态代码块的工作原理、使用场景以及一些最佳实践,帮助你更好地理解和应用这一特性
    2025-02-02
  • Java实现定时任务的方法总结

    Java实现定时任务的方法总结

    这篇文章主要为大家详细介绍了Java中实现定时任务的常用7中方法,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考一下
    2023-06-06
  • Spring源码剖析之Spring处理循环依赖的问题

    Spring源码剖析之Spring处理循环依赖的问题

    大家都知道循环依赖依赖指的是Bean与Bean之间的依赖关系,循环依赖指的是两个或者多个Bean相互依赖,本文通过代码示例给大家讲解Spring处理循环依赖的问题,感兴趣的朋友一起看看吧
    2021-06-06
  • MyBatis handleResultSet结果集解析过程示例

    MyBatis handleResultSet结果集解析过程示例

    这篇文章主要为大家介绍了MyBatis handleResultSet结果集解析过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Java设计模式之适配器模式的实现

    Java设计模式之适配器模式的实现

    这篇文章主要介绍了Java设计模式之适配器模式的实现,适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁,这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能,需要的朋友可以参考下
    2023-11-11
  • java 获取HttpRequest Header的几种方法(必看篇)

    java 获取HttpRequest Header的几种方法(必看篇)

    下面小编就为大家带来一篇java 获取HttpRequest Header的几种方法(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09

最新评论