两个对象值合并

QQ83667664 2019-01-28 10:17:45
有两个实体类,里面的属性是一样的,判断A、B 的id值相等时,就取A的值,否则取B的值.就如ID值相同时A里的数据覆盖B表数据。这样怎实现呢?

public class A{
private int id;
private int name;
private int age;

public class B{
private int id;
private int name;
private int age;
A表:

B表:

最终的数据是:

...全文
502 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
maradona1984 2019-01-29
  • 打赏
  • 举报
回复
引用 6 楼 QQ83667664 的回复:
[quote=引用 3 楼 maradona1984 的回复:]
虽然分没啥用,但最近发帖的分一个比一个少了呢

如果你是要sql,oracle就用nvl函数,mysql就用case when,FULL OUTER JOIN

如果用java代码...那就双层循环做判断

但我觉得问题不应该这么简单吧,你这种问题随便都能百度到,如果我没有get到你的点,请补充

你好,是要用JAVA来写,我想实现的是B表里的id值包含A表里所有id值,然后我想取A表里对应id值的age值赋给B表里的age字段(就是说A\B里的ID值相同,那么就把A表里的age值赋给B表里的age,这个可以写语句更新B表,但是我为了方便才把B说成一个表,其实A是查数据库的集合,而B不是从数据库查出来的集合,然后然后更加对应相同ID值,把A里的age更新到B里的age).[/quote]
那就双层循环就搞定了啊
QQ83667664 2019-01-29
  • 打赏
  • 举报
回复
引用 3 楼 maradona1984 的回复:
虽然分没啥用,但最近发帖的分一个比一个少了呢

如果你是要sql,oracle就用nvl函数,mysql就用case when,FULL OUTER JOIN

如果用java代码...那就双层循环做判断

但我觉得问题不应该这么简单吧,你这种问题随便都能百度到,如果我没有get到你的点,请补充

你好,是要用JAVA来写,我想实现的是B表里的id值包含A表里所有id值,然后我想取A表里对应id值的age值赋给B表里的age字段(就是说A\B里的ID值相同,那么就把A表里的age值赋给B表里的age,这个可以写语句更新B表,但是我为了方便才把B说成一个表,其实A是查数据库的集合,而B不是从数据库查出来的集合,然后然后更加对应相同ID值,把A里的age更新到B里的age).
QQ83667664 2019-01-29
  • 打赏
  • 举报
回复
引用 2 楼 小小菜鸟肥 的回复:
BeanUtils.copyProperties(a,b)了解下,至于逻辑,你自己应该会了吧;
需要注意的是:
1.导入Spring包
BeanUtils.copyProperties(A,B) 是将A的字段赋值给B
2.导入apache包
BeanUtils.copyProperties(A,B) 是将B的字段赋值给A
***Date类型数据不能为null,否则会抛出异常

这样不行,你这样只是单单把A的值赋给B。
我想实现的是B表里的id值包含A表里所有id值,然后我想取A表里对应id值的age值赋给B表里的age字段
nayi_224 2019-01-29
  • 打赏
  • 举报
回复
select nvl(t1.id, t2.id) id,
       case when t1.name = t2.name then t1.name
            else nvl(t2.name, t1.name)
       end name,
       case when t1.age = t2.age then t1.age
            else nvl(t2.age, t1.age)
       end age
  from tab_a t1
full join
tab_b t2
on t1.id = t2.id;
maradona1984 2019-01-29
  • 打赏
  • 举报
回复
虽然分没啥用,但最近发帖的分一个比一个少了呢

如果你是要sql,oracle就用nvl函数,mysql就用case when,FULL OUTER JOIN

如果用java代码...那就双层循环做判断

但我觉得问题不应该这么简单吧,你这种问题随便都能百度到,如果我没有get到你的点,请补充
小小菜鸟肥 2019-01-29
  • 打赏
  • 举报
回复
BeanUtils.copyProperties(a,b)了解下,至于逻辑,你自己应该会了吧; 需要注意的是: 1.导入Spring包 BeanUtils.copyProperties(A,B) 是将A的字段赋值给B 2.导入apache包 BeanUtils.copyProperties(A,B) 是将B的字段赋值给A ***Date类型数据不能为null,否则会抛出异常
QQ83667664 2019-01-28
  • 打赏
  • 举报
回复
少了A表数据
A表:

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧