java中给实体对象属性的空值赋默认值

目录

  • 给实体对象属性的空值赋默认值
  • 给实体类赋默认值通用方法
【java中给实体对象属性的空值赋默认值】
给实体对象属性的空值赋默认值
private final String defaultStr = ""; private final Date defaultDate = new Date(); private final BigDecimal defaultDecimal = new BigDecimal(0); private final Timestamp defaultTimestamp=new Timestamp(new Date().getTime()); //赋默认值public void setDefaultValue(Object object) {try {Class clazz = object.getClass(); Field[] fields = clazz.getDeclaredFields(); String primaryKey = EntityUtil.getPrimaryKey(currentSession(), object.getClass()); for(int i=0; i

给实体类赋默认值通用方法
package com.clamc.common.util; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigDecimal; import java.sql.Date; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; /** * yangzhiwei * 使用反射给实体类k赋值(默认值) * insert update会报null异常,为空时不能插入和更新 */public class ObjInvoke {public static Object getObjDefault(Object obj) {// 得到类对象Class objCla = obj.getClass(); Field[] fs = objCla.getDeclaredFields(); for (int i = 0; i < fs.length; i++) {Field f = fs[i]; // 设置些属性是可以访问的boolean isStatic = Modifier.isStatic(f.getModifiers()); if(isStatic){continue; }// 设置些属性是可以访问的f.setAccessible(true); try {// 得到此属性的值Object val = f.get(obj); // 得到此属性的类型String type = f.getType().toString(); if (type.endsWith("String") && val == null) {// 给属性设值f.set(obj, ""); } else if ((type.endsWith("int") ||type.endsWith("Integer") || type.endsWith("double")) && val == null) {f.set(obj, 0); }else if ((type.endsWith("long")|| type.endsWith("Long") )&& val == null){f.set(obj, 0L); } else if (type.endsWith("Date") && val == null) {f.set(obj, Date.valueOf("1970-01-01")); }else if(type.endsWith("Timestamp") && val == null){f.set(obj, Timestamp.valueOf("1970-01-01 00:00:00")); } else if (type.endsWith("BigDecimal") && val == null) {f.set(obj, new BigDecimal(0)); }} catch (Exception e) {e.printStackTrace(); }}return obj; }public static List getObjDefaultList(List objList) {List list=new ArrayList(); for(Object t:objList){list.add(getObjDefault(t)); }return list; }}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读