zoukankan      html  css  js  c++  java
  • java反射对实体类取值和赋值

    public static void checkDesignerEdit(Object dtos) throws Exception {
            Class  dtosClass = dtos.getClass();
    //获得类的声明的字段 Field createTime
    = dtosClass.getDeclaredField("createTime");
    //可访问私有变量 createTime.setAccessible(
    true);
    //获取实体属性值 Date createDate
    = (Date) createTime.get(dtos); String c = DateUtil.getFormateDateLong(createDate); String e = DateUtil.addDateMinut(c, 2880); String nowDate = DateUtil.getFormateDateLong(new Date()); int differ = DateUtil.getDatePoor(e, nowDate, 1, 0); Field workStatusF = dtosClass.getDeclaredField("workStatus"); workStatusF.setAccessible(true); int workStatus= (int) workStatusF.get(dtos); Field methodSetEdit = dtosClass.getDeclaredField("edit"); methodSetEdit.setAccessible(true); Field methodSetEditTime = dtosClass.getDeclaredField("edtiTime"); methodSetEditTime.setAccessible(true); if (differ > 0) { if (workStatus == 0 || workStatus == 10) {
    //调用实体类的set方法进行赋值 methodSetEdit.set(dtos,
    1); methodSetEditTime.set(dtos,(long) differ); } } else { if (workStatus == 13 || workStatus == 16) { methodSetEdit.set(dtos,1); methodSetEditTime.set(dtos,0L); } else { methodSetEdit.set(dtos,0); methodSetEditTime.set(dtos,0L); } } }
     public CommonResult worksList(String userId, int page, int pageSize) throws Exception  {
            PageHelper.startPage(page, pageSize);
            List<DesignDTO1> dtos = designMapper.worksList(userId);
            for (DesignDTO1 dto : dtos) {
    //调用反射方法,实体类有公共的属性和方法可调用 checkDesignerEdit(dto); } PageInfo p
    = new PageInfo(dtos); Map map = new HashMap(); map.put("rows", p.getList()); map.put("totalCount", p.getTotal()); return CommonResult.success(map); }
    //实体类
    
    import com.fasterxml.jackson.annotation.JsonFormat;
    
    import java.util.Date;
    
    public class DesignDTO1 {
        private Integer id;
        /**
         * 作品编号
         */
        private String worksId;
        /**
         * 作品名称
         */
        private String worksName;
    
        /**
         * 上传时间
         */
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
        private Date createTime;
    
        /**
         * 状态status_show
         */
        private Integer status;
        /**
         * 状态描述
         */
        private String statusMsg;
        /**
         * 作品封面图(图片名称)
         */
        private String workCoverImg;
    
        /**
         * 是否可修改
         */
        private Integer edit;
        /**
         * 可修改剩余时间
         */
        private  Long edtiTime;
    
        /**
         * 业务状态status
         */
        private Integer workStatus;
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getWorksId() {
            return worksId;
        }
    
        public void setWorksId(String worksId) {
            this.worksId = worksId;
        }
    
        public String getWorksName() {
            return worksName;
        }
    
        public void setWorksName(String worksName) {
            this.worksName = worksName;
        }
    
        public Date getCreateTime() {
            return createTime;
        }
    
        public void setCreateTime(Date createTime) {
            this.createTime = createTime;
        }
    
        public Integer getStatus() {
            return status;
        }
    
        public void setStatus(Integer status) {
            this.status = status;
        }
    
        public String getStatusMsg() {
            return statusMsg;
        }
    
        public void setStatusMsg(String statusMsg) {
            this.statusMsg = statusMsg;
        }
    
        public String getWorkCoverImg() {
            return workCoverImg;
        }
    
        public void setWorkCoverImg(String workCoverImg) {
            this.workCoverImg = workCoverImg;
        }
    
        public Integer getEdit() {
            return edit;
        }
    
        public void setEdit(Integer edit) {
            this.edit = edit;
        }
    
        public Long getEdtiTime() {
            return edtiTime;
        }
    
        public void setEdtiTime(Long edtiTime) {
            this.edtiTime = edtiTime;
        }
    
        public Integer getWorkStatus() {
            return workStatus;
        }
    
        public void setWorkStatus(Integer workStatus) {
            this.workStatus = workStatus;
        }
    }
  • 相关阅读:
    express框架总结
    http协议和file协议的区别
    苹果和安卓机的兼容问题
    nodejs搭建服务器
    VsCode编辑器
    编辑器统一 快捷键
    前后端分离 方案
    资源
    commonJs的运行时加载和es6的编译时加载
    mock 数据 解决方案
  • 原文地址:https://www.cnblogs.com/SimonHu1993/p/9222923.html
Copyright © 2011-2022 走看看