BeanCopier常用方法 – cglib.beans常用工具类「建议收藏」

BeanCopier常用方法 – cglib.beans常用工具类「建议收藏」BeanCopier是Cglib包中的一个类,用于对象的复制。①第一种两个bean间属性名和类型完全相同的变量进行拷贝Service层publicinterfaceSysUserService{/***新增用户数据*@paramsysUserBO*@return*/In…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

BeanCopier是Cglib包中的一个类,用于对象的复制。

 

① 第一种 两个bean间属性名和类型完全相同的变量进行拷贝

          BeanCopier常用方法 - cglib.beans常用工具类「建议收藏」

Service层

public interface SysUserService {
    /**
     * 新增用户数据
     * @param sysUserBO
     * @return
     */
    Integer insertSysUser(SysUserBO sysUserBO);
}

ServiceImpl层

@Service
public class SysUserServiceImpl implements SysUserService {
    @Autowired
    private SysUserMapper sysUserMapper;

    public final static BeanCopier SysUser_BO2DO =
            BeanCopier.create(SysUserBO.class, SysUserDO.class, false);

    /**
     * 新增用户数据
     *
     * @param sysUserBO
     * @return
     */
    @Override
    public Integer insertSysUser(SysUserBO sysUserBO) {
        SysUserDO sysUserDO = new SysUserDO();
        SysUser_BO2DO.copy(sysUserBO, sysUserDO, null);
        return sysUserMapper.insertSysUser(sysUserDO);
    }
}

 

② 第二种 引入Converter,可以对某些特定属性值进行特殊操作

          BeanCopier常用方法 - cglib.beans常用工具类「建议收藏」

创建一个类,在main方法里面测试

public class Demo02 {
    public final static BeanCopier SysUser_BO2DO =
            BeanCopier.create(SysUserBO.class, SysUserDO.class, true);

    public static void main(String[] args) {
        SysUserBO sysUserBO = new SysUserBO();
        sysUserBO.setCreatedBy("007");
        sysUserBO.setCreatedTime(DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
        SysUserDO sysUserDO = new SysUserDO();

        // Converter3个参数:value:2019-06-16, filedType:class java.util.Date, setMetod:setCreatedTime
        SysUser_BO2DO.copy(sysUserBO, sysUserDO, (value, filedType, setMetod) -> {
            System.out.println(value);
            System.out.println(filedType);
            System.out.println(setMetod);
            if(StringUtils.equals((CharSequence) setMetod, "setCreatedTime")){
                try {
                    Date date = DateUtils.parseDateStrictly((String) value, "yyyy-MM-dd");
                    return date;
                } catch (ParseException e) {
                    e.printStackTrace();
                    return null;
                }
            }
            return value;
        });
        
        boolean isDateType = sysUserDO.getCreatedTime() instanceof Date;
        System.out.println(isDateType + " 日期为:" + sysUserDO.getCreatedTime() );
        // true 日期为:Sun Jun 16 00:00:00 CST 2019
    }
}

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197798.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用JAVA写一个冒泡排序「建议收藏」

    用JAVA写一个冒泡排序「建议收藏」一:实现思想:  基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。二:实现代码:1packagebulubulu;23publicclassMaopao{4…

    2022年7月8日
    24
  • nvaicat15激活码【中文破解版】

    (nvaicat15激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html0YQJ1128OW-eyJsaWNlbnNlSWQi…

    2022年3月27日
    86
  • 简单软件激活成功教程入门

    简单软件激活成功教程入门一、激活成功教程准备:组合一:侦壳language.exe脱壳AspackDie.exe反编译W32Dasm黄金中文版十六进制编辑器UltraEdit组合二:PEidOllydbg二、

    2022年7月3日
    33
  • Windows下如何强制删除文件夹及文件的命令「建议收藏」

    Windows下如何强制删除文件夹及文件的命令「建议收藏」点击Win输入cmd以管理员身份打开输入命令:rd/s/q盘符:\某个文件夹(强制删除文件文件夹和文件夹内所有文件)例如rd/s/qF:\AdobePhotoshop\AdobePhotoshopCS6del/f/s/q盘符:\文件名(强制删除文件,文件名必须加文件后缀名)例如del/f/s/qF:\护眼精灵\huyanjingling.rarhttps://blog.csdn.net/hanhanwanghaha欢迎关注这个超级无敌可爱的人鸭,有什么问

    2022年6月10日
    359
  • 考研经验-东南大学软件学院软件工程(这些基础课和专业课的各种坑和复习技巧你应该知道)

    考研经验-东南大学软件学院软件工程(这些基础课和专业课的各种坑和复习技巧你应该知道)(记录了2020考研的一些经历和自己的想法,有兴趣可看一下)考研结束后,一直想记录下自己的经历,因为各种原因,直到今天才终于动手。关于本人考研过程中整理的关于基础课和专业课的思维导图笔记,可查看本人博客:本文大概内容:一、考研相关问题1.考研前准备先说说考研之前的准备吧。若你尽早确定了考研的思想,别犹豫,越早复习越好。我想不出有什么理由,对于同一个人而言,复习时间长会比时间短的效果差。当然网上有太多人建议适当的时间就好,不用太长时间,依然考了很理想的学校。但是,你只看到了别人的成功

    2022年10月20日
    2
  • 5g切片隔离原理_5G切片编排器

    5g切片隔离原理_5G切片编排器5G网络切片安全隔离机制与应用*毛玉欣1,陈林2,游世林1,闫新成1,吴强1【摘要】介绍了满足多样化垂直行业应用的5G网络服务化架构和网络切片实现。针对5G网络架构重构、网络部署形态的变化,研究提出了网络切片端到端安全隔离的实现方法,包括切片在接入网络、承载网络和核心网络中的隔离实现。结合典型行业应用的要求,给出了定制化切片的隔离实现案例。【关键词】垂直行业;服务化架构;网络切片;切片隔离引用格式:毛玉欣,陈林,游世林,等.5G网络切片安全隔离机制与应用[J].移动通信,2019,4

    2022年9月28日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号