java, mysql 多张表连接查询后得到的数据如何处理
RT,用连接查询的方式查询到数据后,在DAO层如果处理得到的数据呢?只有一张表的时候,可以映射一个实体,那多张表查询的难道也要增加实体嘛?还是说在原有的表上多添加字段?或...
RT,用连接查询的方式查询到数据后,在DAO层如果处理得到的数据呢?只有一张表的时候,可以映射一个实体,那多张表查询的难道也要增加实体嘛?还是说在原有的表上多添加字段?或者是有其它的解决方案?请高手告知,谢谢!
展开
5个回答
展开全部
你好 两个比较合理的 方法 第一 from哪张表 就写一个类 继承相应的实体类 然后子类中添加需要的字段
第二种方法 写 javabean 封装 javabean中 把你需要的字段写进去 希望能帮到你 谢谢
第二种方法 写 javabean 封装 javabean中 把你需要的字段写进去 希望能帮到你 谢谢
更多追问追答
追问
可是这样不会很麻烦嘛?比如员工表和部门表的连接查询,第一次我查了员工id,姓名,性别,部门名称,部门编号,这时候建立一个实体,下一次我又添加了一张职位表连接起来查询,又多了几个字段,难道又要建一个实体嘛?
追答
就你这种情况 第一个联查 我建了一个javabean 包含了 两个表的字段 那么三表联查 你在原有的javabean中加入三表联查 要添加的新字段不就行了? 麻烦 要看你怎么来说 如果你不写实体类 那么你懂数据库 前端的人看不懂呢? 分层的原因在哪 你仔细想想 分层了 你麻烦一点 要一个字段对应一个表中的属性 但是项目可以多层开发同时进行 那你要是不写 其它层看不懂数据库的难道就不写代码了? 那照这样玩 还面向对象干嘛? 写个main方法 里面堆无数字段嘛 还搞那么多类干嘛? 一个道理
展开全部
你的意思是多张表关联查询 得出 一个结果表的话 那么就映射成一个实体list
如果说是几个表的几个单独的查询的话 ,那么就用几个Dao分别查询
需要陈述的是 一个select 查出来的 要么是一个值(String 基础值 )要么是一列值(JavaBean) 要么是一张表(List) 不可能说是你说的那样 查出多张表结果
如果是多张表结果 那就分多个Dao实现
如果说是几个表的几个单独的查询的话 ,那么就用几个Dao分别查询
需要陈述的是 一个select 查出来的 要么是一个值(String 基础值 )要么是一列值(JavaBean) 要么是一张表(List) 不可能说是你说的那样 查出多张表结果
如果是多张表结果 那就分多个Dao实现
追问
我的意思就是,比如员工和部门表这样,连接查询出员工表的一部分字段和部门表的一部分字段,那这样的话,还要单独创建一个bean用来对应这个查询的结果嘛?因为List里面要存的是对象呀!如果是这样要单独创建bean实体的话,那业务复杂一点,不是要多出很多bean嘛?有没有其它更好的解决方案?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多张表的话,在数据库里他们是有外键关联的。而在对象层,你同样也可以把多个对象的关系给对应起来。然后将对象映射到表中。可以看看ibatis这个数据库框架,挺简单的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-12-06 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
数据都得到了,那么就可以进行增删改了,根据业务需求进行写代码
增加:insert into 数据表(字段1,字段2,字段3) values(值1,值2,值3)
修改:update 数据表 set 字段1=值1,字段2=值2 where id=接收到的ID参数
删除:delete from 数据表 where id=接收到的ID参数
增加:insert into 数据表(字段1,字段2,字段3) values(值1,值2,值3)
修改:update 数据表 set 字段1=值1,字段2=值2 where id=接收到的ID参数
删除:delete from 数据表 where id=接收到的ID参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题我也遇到过,你可以试着用VO实现,vo里面直接放入各个对象,页面直接显示vo数据就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询