Java mysql 多表联查 与循环查询组装数据

有三个表用户表用户角色id关联表角色表需要返回集合里面包含了用户的信息角色的名称还需要条件查询带分页还要限制返回字段的数量名称我使用Example进行查询整个的user表... 有三个表 用户表 用户角色id关联表 角色表 需要返回 集合里面包含了用户的信息 角色的名称 还需要条件查询 带分页 还要限制返回字段的数量 名称 我使用Example 进行查询整个的user表 然后for循环这个表查询到的所有数据 使用gson数据映射到自己要返回的vomodel里面 再根据userid查询 关联表 根据关联表的roleid查询 角色表的名称 set到要返回的vomodel里面 ,领导说不允许这么写非要手动写关联查询 可是现在用的example自动生成的工具 不知道应该怎么办了 或者说 到底哪个效率更高 展开
 我来答
幸运的为什么呀
2019-04-01 · TA获得超过283个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:20.8万
展开全部
你的思路是没有问题的,但是你的这种方式效率很低,假设你的用户表有10万条数据,你需要查角色表10万次吧,数据库里数据都是保存在文件里的,读取磁盘文件都需要花时间,10万次读取磁盘文件那就会花费很多时间了。两张表联合查询的话只需要查询一次,效率就高了些。记住,能不查数据库的就尽量不要查询。
追问
就像楼下老哥说的 我如果直接吧角色表  关联表 全都一次性查出进来 然后进行循环组装 呢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ji...3@163.com
2019-04-01 · 超过23用户采纳过TA的回答
知道答主
回答量:40
采纳率:87%
帮助的人:4万
展开全部
你的意思是多张表关联查询 得出 一个结果表的话 那么就映射成一个实体list

如果说是几个表的几个单独的查询的话 ,那么就用几个Dao分别查询

需要陈述的是 一个select 查出来的 要么是一个值(String 基础值 )要么是一列值(JavaBean) 要么是一张表(List) 不可能说是你说的那样 查出多张表结果

如果是多张表结果 那就分多个Dao实现
追问
现在是三个表关联的 用户 和角色 有一个中间表 进行id关联  用户表 没有存放角色的名称 所以只能自己查询组装 ,但是以后怎么办 感觉多表关联查询很麻烦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
虞姬戏项羽
2019-04-01 · TA获得超过952个赞
知道小有建树答主
回答量:959
采纳率:58%
帮助的人:141万
展开全部
从效率上来说,和数据库发生交互耗时最长。原则上来说,尽量减少和数据库的交互。写sql。两张表的数据,是无法返回到一个映射实体类里的,你可以自己建一个实体类。将你所需要的字段,都写进去,查出来数据后,手动映射
追问
我如果一次都查出来 然后进行循环组装呢 有什么问题
追答
循环组装是什么鬼,循环set吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式