纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

BeanUtils解决实体对象间赋值 java开发BeanUtils类解决实体对象间赋值

guoyp2126   2021-10-13 我要评论
想了解java开发BeanUtils类解决实体对象间赋值的相关内容吗,guoyp2126在本文为您仔细讲解BeanUtils解决实体对象间赋值的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java开发,BeanUtils解决实体对象间赋值,下面大家一起来学习吧。

实体对象之间相互传值,如:VO对象的值赋给Entity对象,是代码中常用功能,如果通过get、set相互赋值,则很麻烦,借助工具类BeanUtils可以轻松地完成操作。

BeanUtils依赖包导入

BeanUtils 是 Apache commons组件的成员之一,主要用于简化JavaBean封装数据的操作。使用BeanUtils必须导入相应的jar包,BeanUtils的maven坐标为

<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.9.4</version>
</dependency>

示例

将前端传来的学生排名信息(StudentVo对象)分别赋给学生对象(StudentEntity)和排名对象(RankingEntity),这三个类代码如下:

@Data
public class StudentVo {
    private String sno;
    private String sname;
    private Integer ranking;
    private String schoolTerm;

    public String toString(){
        return "studentVo对象的值  sno:"+getSno()+" sname:"+getSname()+" ranking:"+getRanking().toString()+" schoolTerm:"+getSchoolTerm();
    }
}
@Data
public class StudentEntity {
    private String sno;
    private String sname;
    private Integer sage;

    public String toString(){
        return "studentEntity对象的值 sno:"+getSno()+" sname:"+getSname()+" sage:"+getSage();
    }
}
@Data
public class RankingEntity {
    private String sno;
    private Integer ranking;
    private String schoolTerm;

    public String toString(){
        return "rankingEntity对象的值 学号:"+getSno()+" 名次:"+getRanking().toString()+" 学期:"+getSchoolTerm();
    }
}

将VO对象的值赋给实体对象,通过BeanUtils.copyProperties(目标,源),将源实体对象的数据赋给目标对象,只把属性名相同的数据赋值,目标中的属性如果在源中不存在,给null值,测试代码如下:

public class App 
{
    public static void main( String[] args ) throws InvocationTargetException, IllegalAccessException {
        StudentVo studentVo = new StudentVo();
        studentVo.setSno("1");
        studentVo.setRanking(20);
        studentVo.setSname("胡成");
        studentVo.setSchoolTerm("第三学期");

        System.out.println(studentVo.toString());
        StudentEntity studentEntity = new StudentEntity();

        BeanUtils.copyProperties(studentEntity,studentVo);
        System.out.println(studentEntity.toString());

        RankingEntity rankingEntity = new RankingEntity();
        BeanUtils.copyProperties(rankingEntity,studentVo);
        System.out.println(rankingEntity.toString());
    }
}

运行结果:

在这里插入图片描述

StudentVo 中不存在sage属性,获得studentEntity对象的sage的值为null


相关文章

猜您喜欢

  • 数据库查询超时优化 一次数据库查询超时优化问题的实战记录

    想了解一次数据库查询超时优化问题的实战记录的相关内容吗,丽大佬的小跟班在本文为您仔细讲解数据库查询超时优化的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:数据库查询语句优化,数据库查询优化例题,数据库优化查询,下面大家一起来学习吧。..
  • C语言中调用汇编语言 C语言中调用汇编语言详解

    想了解C语言中调用汇编语言详解的相关内容吗,PJCnp在本文为您仔细讲解C语言中调用汇编语言的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C语言调用,C语言汇编语言,下面大家一起来学习吧。..

网友评论

Copyright 2020 www.freemmogames.net 【漫漫下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式