有两个实体类,里面的属性是一样的,判断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表:最终的数据是:

解决方案 »

  1.   

    BeanUtils.copyProperties(a,b)了解下,至于逻辑,你自己应该会了吧;
    需要注意的是:
           1.导入Spring包
           BeanUtils.copyProperties(A,B)     是将A的字段赋值给B
           2.导入apache包
    BeanUtils.copyProperties(A,B)     是将B的字段赋值给A     
    ***Date类型数据不能为null,否则会抛出异常
      

  2.   

    虽然分没啥用,但最近发帖的分一个比一个少了呢如果你是要sql,oracle就用nvl函数,mysql就用case when,FULL OUTER JOIN如果用java代码...那就双层循环做判断但我觉得问题不应该这么简单吧,你这种问题随便都能百度到,如果我没有get到你的点,请补充
      

  3.   

    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;
      

  4.   

    这样不行,你这样只是单单把A的值赋给B。
    我想实现的是B表里的id值包含A表里所有id值,然后我想取A表里对应id值的age值赋给B表里的age字段
      

  5.   

    你好,是要用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).
      

  6.   

    你好,是要用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).
    那就双层循环就搞定了啊