打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SSH框架中利用@Query注解进行联表查询

1 问题描述

最近完成了一个用SSH框架做的学生银行卡更改系统,在做的过程中也遇到了很多困难,其中有一个就是通过联表查询,并把数据交给前端。以前学的主要是SSM框架中利用Mybatis进行联表查询,突然来一个SSH框架还真是有一点懵了。

2 问题分析

这个问题就是要通过一个一对一的联表查询,就是我这里有一张学生信息表和一张银行卡的信息表。我要通过查询这两张表,将学生和对应银行卡对应之后,将JSON格式的数据交给前端。这就涉及到了两个问题,如何联表查询和如何让查出来的数据呈现为JSON格式。

3 解决方案

刚开始的时候,还不知道可以用@Query注解来写联表查询的SQL语句,并让这个查询语句让注解的方法去执行。也不知道如何将查询到的数据已键值对的方式供前端使用。之后在老师的点播和百度的帮助下自己也解决了这个问题。

首先,这是我在dao层接口中的联表查询的方法,这个方法要把它设置为Object[]数组类型的List集合,给方法一个@Query的注解,并将注解中value赋值为联表查询的SQL语句,后面还有跟一个nativeQuery = true。自己再创建一个实体类BankCardApplyModel,将查询的属性全部放在里面,以便于后面给前端提供JSON数据,比如:

接下来就是在Service层将数据转化为JSON格式,我的方法是通过遍历刚刚查询的数据,创建一个BankCardApplyModel数据类型的集合,ArrayList<>可以很方便的进行增加和删减集合内元素的操作,再定义一个Object[]数据类型的集合变量tmpList,给tmpList赋值为联表查询的结果,用循环遍历tmpList,在循环中定义一个BankCardApplyModel的变量来接收遍历的值,并且其遍历的顺序和你的SQL语句的查询顺序是完全相同的,list.add(model)这句代码就是刚刚说的增加集合内元素,将遍历的结果添加到list里面去,这样list里面的数据就全部为JSON格式的数据,我们也就达到了我们的目的,代码如下:

4 总结

学习是一个拓展的过程,只有不断地学习更好的方法,自己的代码才会的到优化,也会被别人认可,每次自己学会一点东西,都会觉得自己很有成就感可能这就是兴趣的力量吧,希望本文章能帮助那些和我遇到相同问题的小伙伴。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
大分享-hibernate,springmvc,easyui简要介绍
Power BI Power Query 排名-非连续排名和连续排名
通过SpringMVC框架响应JSON数据
SQL Server 2016最值得关注的10大新特性
通过Power Query汇总多个工作表的数据
EXCEL怎么将一个区域里面的某列插入到已有数据里面的空白,见图?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服