public class InitObjectUtil {
public static void initStringFieldIfNull(Object obj, String target){
Class<?> aClass = obj.getClass();
Field[] declaredFields = aClass.getDeclaredFields();
for (Field declaredField : declaredFields) {
if(declaredField.getType() == String.class ){
declaredField.setAccessible(true);
try {
if(declaredField.get(obj) == null){
declaredField.set(obj, target);
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
}
这里mybatis 使用的动态sql语句,判断如果字段为空不对此字段进行修改,因此在页面用户修改原来数据,前端又没有进行传值得时候,属性会为空,为了避免这种情况,我们对其进行初始化赋值。
方法也可以扩展一下,对各种属性赋默认值。