【问题标题】:Counts the total number of rows in the table MYSQL SPRING统计表 MYSQL SPRING 中的总行数
【发布时间】:2020-12-25 11:27:00
【问题描述】:

我正在尝试使用 Spring、Mybatis 和 Thymeleaf 框架计算 Mysql 表中的所有行数。我有这样的数据表: 表:用户

  id name
  1 John
  2 Jack
  3 William
  4 Harry

我想统计user表中的所有行或者获取表中的最大值(这里是4),我在服务类中使用select语句: 用户服务.java

@Select ("Select count (id) from user)
List <User> countById ();

在Controller类中实现

UserController.java

modelAndView.addObjects ("user", userService.countById ());

并将其显示在 HTML 之外 用户.html

<div>
<span th: text = "$ {user.id}> </span>
</div>

页面显示错误,我不知道我的服务、控制器或 HTML 有问题。我希望输出显示为 4。请帮助我。谢谢

【问题讨论】:

    标签: java mysql spring mybatis


    【解决方案1】:

    @Select 注解要改成@Query 注解,方法的返回类型也要长。

    这应该可行:

    @Query("SELECT count(u.id) FROM user u)
    long countById ();
    

    在视图部分你可以输出如下:

    <div>
    <span th: text = "${user}> </span>
    </div>
    

    【讨论】:

    • @Select 更改为@Query,您可以在此博客中阅读有关编写查询的更多信息:baeldung.com/spring-data-jpa-query
    • OP 询问了 MyBatis,而不是 JPA。所以注释应该保持@Select。除此之外,这个答案的其余部分都在正确的轨道上。
    猜你喜欢
    • 2019-02-16
    • 2011-10-03
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多