当前位置: 首页 > news >正文

阜阳恒亮做网站多少钱seo是搜索引擎营销吗

阜阳恒亮做网站多少钱,seo是搜索引擎营销吗,郑州市城乡建设厅网站,沈阳市网站建设公司Java:对比一个对象更新前后具体被修改了哪些值 Zyyyyu 的个人博客 遇到一个需求就是要记录每行数据被修改更新后,要记录下当前值和修改前的值 那有人就会说写个if去判断值是否被修改了,然后记录下来不就行了,这是一个思路&#x…

Java:对比一个对象更新前后具体被修改了哪些值

Zyyyyu 的个人博客
遇到一个需求就是要记录每行数据被修改更新后,要记录下当前值和修改前的值
那有人就会说写个if去判断值是否被修改了,然后记录下来不就行了,这是一个思路,但只适用于该类的字段少的情况,而类的字段如果很多甚至几十上百个时,不可能挨个去写,且每次新增新的字段就需要再增加逻辑,所以该思路就会被直接pass掉。

思路讲解

既然没办法通过if去判断,那么还有一种办法,那就是通过反射去拿到这个类中所有字段,然后遍历这个类每个字段是否被修改,如果修改则记录下其值和字段名,下面的方法适用于所有类,所以基本是copy就可以用,以下为代码:

   /*** 获取实体类被修改的字段名** @param clazz* @param obj1* @param obj2* @return*/private static List<String> getVariableNames(Class clazz, Object obj1, Object obj2) {// 存储被修改的字段名List<String> modifyFields = new ArrayList<>();try {// 解析对象1和对象2的JSONObjectJSONObject object1 = JSONUtil.parseObj(obj1);JSONObject object2 = JSONUtil.parseObj(obj2);// 获取该类的所有属性Field[] fields = clazz.getDeclaredFields();for (Field field : fields) {// 设置属性可访问field.setAccessible(true);// 获取属性名String name = field.getName();// 判断对象1和对象2的属性数量是否不为0(如果是创建则object2为null)if (object1.size() != 0 && object2.size() != 0) {// 判断对象1和对象2的属性值是否都不为空(由于有一些属性始终为null,所以需要过滤掉,不然会空指针异常)if (StringUtils.isNotNull(object1.get(name)) && StringUtils.isNotNull(object2.get(name))) {// 判断对象1和对象2的属性值是否不相等if (!object1.get(name).equals(object2.get(name))) {// 添加属性名到列表中modifyFields.add(field.getName());}// 判断对象1属性值为空且对象2的属性值不为空(说明原先为赋值,后续赋值)} else if (StringUtils.isNull(object1.get(name)) && StringUtils.isNotNull(object2.get(name))) {modifyFields.add(field.getName());// 判断对象1属性值不为空且对象2的属性值为空(说明原先为赋值,后续删除)} else if (StringUtils.isNotNull(object1.get(name)) && StringUtils.isNull(object2.get(name))) {modifyFields.add(field.getName());}}}} catch (Exception e) {// 获取异常信息详情String exceptionMessage = ExceptionUtil.getExceptionDetailMessage(e);logger.error("获取被修改的字段名失败:{}", exceptionMessage);}return modifyFields;}

结论:

该方法是可实现的,如果要在数据库中存储这些被修改的字段名和值,这里还有个思路就是json,将修改前后的对象转为JSON存储到数据库,同时再用一个list记录被修改的字段名,如果需要的时候直接遍历去get两个json里面的值就可以了,也许会有更好的办法去实现,但是该方法是比较适用于我目前的项目,如果有更好的的办法可以在评论区下留言,互相学习。

http://www.hrbkazy.com/news/39942.html

相关文章:

  • 网站建设制作设计seo优化南宁百度搜索引擎入口登录
  • 网站seo优化书籍交换友情链接平台
  • 网站程序盗版seo短视频网页入口引流
  • 龙岗优化网站建设巨量引擎广告投放平台
  • 手机网站制作网站推广途径和要点
  • 企业网站内容更新怎么操作自动收录网
  • 手机门户网站建设方案青岛做网络推广的公司有哪些
  • 装修设计软件知乎seo关键词快速排名软件
  • 辽宁阜新建设学校官方网站seo推广骗局
  • 如何做网站迁移网址seo优化排名
  • 专门做钱币的网站域名邮箱 400电话
  • 手机网站建设行业分析最近的新闻大事10条
  • 国外大型网站杭州疫情最新情况
  • wordpress需要配置文件江苏seo平台
  • 山西山西省建设厅网站正规的代运营公司
  • 专门做三国战纪的网站叫什么企业营销策划是做什么的
  • 想在土巴兔做装修网站找谁手机网页链接制作
  • 网站首页制作的过程十大骗子教育培训机构
  • 朝阳工商登记大厅seo技术培训广东
  • 嘉兴h5建站seo舆情优化
  • 做amazon当地电信屏蔽了网站网络营销策划推广
  • 网络推广培训视频网店seo排名优化
  • 杨庄网站建设百度的网址是什么
  • 企业独立官方网站网址怎么做百度前三推广
  • angularjs做的网站有哪些东莞网络营销代运营
  • 男人女人做邪恶的事网站微信指数查询
  • 做外国网用哪些网站网络广告策划方案范文
  • 移动网站排名怎么做seo知名公司
  • 用vue.js做网站中文域名交易网站
  • 推广网站优化seo教程上排名seo网站营销公司哪家好