Springboot做查询数据库某个表的数据时,后台一切正常前台显示不了数据

        当我在用springboot做项目的时候查询整个表的数据或者条件查询的时候发现我的后台功能一切正常但是我的前台界面就是显示不了数据,这个问题解决也很简单,就是需要我们平时多加注意,不要漏代码!!!

@Builder
@TableName("passwordtool")
@ApiModel(value = "Passwordtool对象", description = "")
public class Passwordtool implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("操作的用户ID")
    @TableId("userid")
    private String userid;

    @ApiModelProperty("用户上传的密码")
    @TableField("original_password")
    private String originalPassword;

    @ApiModelProperty("加密或者解密后密码")
    @TableField("convert_password")
    private String convertPassword;

    @ApiModelProperty("转换状态(1:表示转换成功,0:表示装换失败)")
    @TableField("convert_status")
    private Integer convertStatus;

    @ApiModelProperty("加密的方法")
    @TableField("encryption_method")
    private String encryptionMethod;

    @ApiModelProperty("如果使用对称加密算法,则存储秘钥")
    @TableField("encryption_key")
    private String encryptionKey;


}

        以上是我的实体类,实现方法的话具体如下:(做的分页查询所有数据)

   @Override
    public ResponseEntity<?> getAllStatement(selectEncriptDto dto) {
        Page<Passwordtool> page = new Page<>(dto.getCurrent(), dto.getPageSize());
        IPage<Passwordtool> re=this.page(page,null);
        return ResponseEntity.ok(re);
    }

        当我的控制器写好以后,运行发现我的前台没有数据(此时晚上还在写代码的我早已是怨气冲天,心急吃不了热豆腐,算了冷静冷静慢慢分析):

        我在想为什么呢,我的后台是可以输出查询出来的数据的,但是我做打印的时候发现打印出来的数据都是一样的:

        查询出来的3条结果都是一样的,然后我又回去看了一下我的实体类,果不其然,我的实体类上面只加了@Builder注解,没有加@Setter和@Getter注解,导致无法构建对象,加上注解后即可正常进行访问了!

        既然讨论到了@Builder和@Setter和@Getter注解,那就大概来了解一下他们有什么作用吧:

@Builder 注解是 Lombok 提供的一个注解,它可以自动生成一个 builder 类,使得我们可以方便地进行对象的构建。使用 @Builder 注解时,会自动生成一个包含所有字段的构造器,并为每个字段生成一个对应的 setter 方法。

@Getter 和 @Setter 注解也是 Lombok 提供的注解,分别表示生成一个类的 getter 和 setter 方法。使用@Getter 和 @Setter 注解时,会自动生成对应字段的 getter 和 setter 方法。

区别如下:

  • @Builder 注解主要用于简化对象构建过程,它生成一个 builder 类,其中包含了构建对象所需的所有字段和相关的方法,使得对象的构建过程更加简洁、灵活。而@Getter 和 @Setter 注解主要用于生成类的 getter 和 setter 方法,方便访问和修改对象的属性。
  • @Builder 注解会为每个字段生成一个 setter 方法,而@Getter 和 @Setter 注解分别为每个字段生成 getter 和 setter 方法。
  • @Builder 注解适用于构建复杂对象,可以通过链式调用方式一步步构建对象,而@Getter 和 @Setter 注解适用于为类的字段提供简单的访问和修改方法。

需要注意的是,@Builder 注解需要和其他注解如@AllArgsConstructor 或 @NoArgsConstructor 结合使用,以生成相关的构造器。而@Getter 和 @Setter 注解可以单独使用。

写下这篇博文的目的也是希望能与诸位共勉吧,问题其实不难,毕竟有时候代码一写快了就容易漏点儿东西,创造点儿bug,然后给自己留下悔恨的泪水~~

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 出现这种情况可能有以下几种原因: 1. 数据添加成功,但未正确返回到前台页面。可能是因为在添加数据后,没有进行页面的跳转或者刷新操作。可以在添加数据成功后,跳转到展示数据的页面,并进行页面的刷新操作,以确保数据能正确显示。 2. 数据添加成功,但前台页面的展示逻辑有误。可能是因为前台页面的展示逻辑没有正确地将添加的数据进行展示。需要检查前台页面的展示代码,确保能正确地获取并展示新添加的数据。 3. 数据添加成功,但前台页面的数据显示权重冲突。可能是因为前台页面中的其他元素(如缓存、其他数据加载等)的权重比添加的数据显示权重更高,导致新添加的数据无法正常显示。可以尝试调整数据显示的权重,确保新添加的数据能正确显示前台页面上。 4. 数据添加成功,但前台页面的数据展示条件过滤。可能是因为前台页面设置了特定条件的数据展示,而新添加的数据不符合这些条件,导致无法显示。需要检查前台页面的数据展示条件,确保新添加的数据符合展示条件。 以上是可能导致前台页面不显示新添加数据的几种情况,具体原因需要根据具体项目的逻辑来分析和解决。 ### 回答2: 当后台成功添加数据前台显示,可能是以下几个原因造成的: 1. 数据未刷新:可能是因为前台页面没有及刷新导致数据显示。可以尝试手动刷新页面或者检查前台代码中是否有定刷新的逻辑。 2. 前后台数据交互问题:可能是前后台数据交互存在问题,导致添加的数据没有正确传递给前台页面。可以通过调试后台接口和前台代码,查看数据的传递和处理是否正常。 3. 前台页面显示逻辑问题:可能是前台页面的显示逻辑存在问题,导致数据无法正确展示。可以仔细检查前台代码中是否有对应的数据展示逻辑,并确认展示的位置和方式是否正确。 4. 数据库查询问题:可能是在添加数据后,前台页面没有正确查询数据库获取最新的数据导致不显示。可以通过检查数据库查询逻辑,确认是否正确查询并返回最新的数据。 针对这些情况,我们可以逐一排查解决。可以通过调试代码、查看日志、检查数据库查询等方式来确定具体原因并解决问题。 ### 回答3: 可能的原因是前后端数据传输出现问题,或者前端页面的展示逻辑出现错误。具体解决方法如下: 1. 检查后台代码,确认数据确实成功添加到数据库中。可以通过在后台代码中添加日志输出,或者直接在数据库查询确认数据是否正确添加。 2. 检查前后端的数据传输是否正常。可以通过查看网络请求是否成功返回数据,以及前端是否正确接收到数据。 3. 检查前端页面的展示逻辑是否正确。可能是因为前端展示代码中逻辑错误导致数据无法正确显示。可以通过查看前端页面的代码,确认数据是否正确渲染到页面上。 4. 确认前后端数据传输格式是否一致。可能是因为前后端约定的数据格式不一致导致数据无法正确显示。可以通过查看接口文档或者实际数据格式确认数据传输格式是否正确。 5. 检查前端页面是否有缓存问题。有候前端页面可能会缓存数据,导致新添加的数据无法及显示。可以尝试清除前端页面缓存或者强制刷新页面。 如果以上解决方法都没有解决问题,可以检查是否有其他错误导致数据无法正确显示,或者查看相关日志以获取更多信息,以便更好地定位并解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

银氨溶液

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值