//遍历order,得到属性值不为空的属性,type:操作类型。0是新增,1是更新
private Map<String, Object> reflect(Order order,String type) throws Exception{
Map<String, Object> map=new HashMap<String, Object>();
Class<? extends Order> cls = order.getClass();
Field[] fields = cls.getDeclaredFields();
for(Field f:fields){
//获取订单表中字段上的不须入库映射的注解
Transient annon = f.getAnnotation(Transient.class);
if(annon!=null) {
continue;
}
f.setAccessible(true);
if(f.getName().equals("serialVersionUID"))continue;
//如果值不为空
if(f.get(order)!=null&&StringUtils.isNotBlank(f.get(order).toString())) {
if(f.get(order) instanceof Date) {
map.put(humpToUnderline(f.getName()),DateUtil.dateToString((Date) f.get(order)));
}else {
map.put(humpToUnderline(f.getName()),f.get(order));
}
}else if(type.equals("0")) {//新增,获取空值
map.put(humpToUnderline(f.getName()),null);
}
}
return map;
} /***
* 下划线命名转为驼峰命名
*
* @param para
* 下划线命名的字符串
*/ public String underlineToHump(String para){
StringBuilder result=new StringBuilder();
String a[]=para.split("_");
for(String s:a){
if (!para.contains("_")) {
result.append(s);
continue;
}
if(result.length()==0){
result.append(s.toLowerCase());
}else{
result.append(s.substring(0, 1).toUpperCase());
result.append(s.substring(1).toLowerCase());
}
}
return result.toString();
} /***
* 驼峰命名转为下划线命名
*
* @param para
* 驼峰命名的字符串
*/ public String humpToUnderline(String para){
StringBuilder sb=new StringBuilder(para);
int temp=0;//定位
if (!para.contains("_")) {
for(int i=0;i<para.length();i++){
if(Character.isUpperCase(para.charAt(i))){
sb.insert(i+temp, "_");
temp+=1;
}
}
}
return sb.toString();
}

java遍历一个实体的更多相关文章

  1. Java遍历一个目录下的所有文件

    Java遍历一个目录下的所有文件   Java工具中为我们提供了一个用于管理文件系统的类,这个类就是File类,File类与其他流类不同的是,流类关心的是文件的内容,而File类关心的是磁盘上文件的存 ...

  2. Java遍历一个文件夹下的全部文件

    Java工具中为我们提供了一个用于管理文件系统的类,这个类就是File类,File类与其它流类不同的是,流类关心的是文件的内容.而File类关心的是磁盘上文件的存储. 一,File类有多个构造器,经常 ...

  3. JAVA遍历一个文件夹中的所有文件

    在实际项目中给定一文件夹,得到这个文件夹下所有的文件这样的需求并不是很多,更多的是查找或是删除某一具体的文件 import java.io.File; import java.util.ArrayLi ...

  4. java操作Excel的poi 遍历一个工作簿

    遍历一个工作簿 package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.h ...

  5. java 从一个工程action 跳转到另外一个工程action

    实现功能:java 从一个工程action 跳转到另外一个工程action 在我们实际编程的过程中,大家一定遇到过这种情况,那就是在一个工程中,需要使用到另外一个工程的实体Bean和方法.那么遇到这种 ...

  6. JAVA遍历HashMap和ArrayList

    List Map 基础信息 HashMap 最近写程序经常需要遍历集合,所以总结一下内容: 一.简单实现 Map map = new HashMap(); for(Object o : map.key ...

  7. java 遍历list 模糊查询用

    java 遍历list 模糊查询用 /** * 筛选list * @param list 要筛选的list * @param key 筛选的key * @param <T> * @retu ...

  8. java 多线程——一个定时调度的例子

    java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...

  9. java遍历树(深度遍历和广度遍历

    java遍历树如现有以下一颗树:A     B          B1               B11          B2               B22     C          C ...

随机推荐

  1. ToShowDoc拯救不想写文档的你

    ToShowDoc拯救不想写文档的你 写注释已经够折磨开发者了,显然天天curd的我们再去写文档岂不是分分种要被逼疯. 我想每个人都有这种经历 加了一个参数文档忘了更新 参数名更改文档忘了更新 删掉一 ...

  2. jQuery v1.10.2如何判断checkbox(复选框)是否被选中

    做项目时,我们经常会用到jquery来做一些判断,今天自己遇上判断复选框是否选中,然后搜索查看,发现现在网上的都是错误的,下面罗列错误的: 1.$("#id").attr(&quo ...

  3. 教你用Vue写一个开心消消乐

    之前做过一个算法题,算法要求就是写一个开心消消乐的逻辑算法,当时也是考虑了一段时间才做出来.后来想了想,既然核心算法都有了,能不能实现一个开心消消乐的小游戏呢,于是花了两天时间做了一个小游戏出来. 效 ...

  4. Python3程序设计指南:02 数据类型

    目录 1.标识符与关键字 1.1 规则 1.2 约定 2.Integral类型 2.1 整数 2.1.1 数值型操作符与函数 2.1.2 使用数据类型创建对象 2.1.3 整数位逻辑操作符 2.2 布 ...

  5. JQ获取元素属性值

    最近在学习JAVA Web,自己也是做个下列表左右选择的小案例. 获取某个元素的属性值一直以为是要调用atrr方法,不过好像获取元素的数组形式再遍历每个元素的时候想获取到它的属性值用attr方法有问题 ...

  6. python-url中中文编码与解码

    接口测试中遇到这种情况:get请求的传参有中文,以致url中有中文编码. 下面是常见的一种编码解码方式: from urllib.request import quote, unquote url = ...

  7. 05jmeter正则表达式

    1.必须掌握的正则字符 "^" :^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置."$" :$会匹配行或字符串的结尾."\w" ...

  8. 00jmeter安装相关

    1.官网下载安装包:http://jmeter.apache.org/ 下载最新版本: 2.将下载后的zip文件解压 3. jdk与jmeter的环境变量配置(以下变量如果没有则新建,如果已存在则直接 ...

  9. ESP8266开发之旅 网络篇① 认识一下Arduino Core For ESP8266

        博主的 ESP8266开发之旅 专栏主要分为三个部分: 基础篇 网络篇 应用篇     从这一篇开始,博主将会带领各位读者在基础篇的基础上进入网络的世界.在此,博主认为各位读者已经具备以下前提 ...

  10. zookeeper - 通过java代码连接zookeeper(2)

    首先创建一个Maven项目 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...