// 只有在发生项目变更的情况下,updateShop才需要插入到数据库
boolean haveItemChanged = false;
String[] compareItemKeys = new String[] { "host_name", "host_mobile", "host_post" };
for (String compareItemKey : compareItemKeys) {
// 项目是否发生变更
if (updateUpdatedItem(oldShop, updateShop, compareItemKey, (String) dynaBean.get(compareItemKey))) {
haveItemChanged = true;
}
}
private boolean updateUpdatedItem(Shop oldShop, Shop updateShop, String itemKey, String newItemValue)
throws Exception {
// 项目是否发生变更
boolean itemChanged = false;
String oldItemValue = BeanUtils.getProperty(oldShop, itemKey);
if (StringUtils.isBlank(oldItemValue) && StringUtils.isNotBlank(newItemValue)) {
BeanUtils.setProperty(updateShop, itemKey, newItemValue);
itemChanged = true;
} else if (StringUtils.isNotBlank(oldItemValue) && StringUtils.isNotBlank(newItemValue)) {
if (!StringUtils.equals(oldItemValue, newItemValue)) {
BeanUtils.setProperty(updateShop, itemKey, newItemValue);
itemChanged = true;
}
}
return itemChanged;
}
分享到:
相关推荐
1. `BeanUtils.setProperty()`: 用于设置JavaBean对象的属性值,只需要属性名和值即可,无需知道具体的setter方法。 2. `BeanUtils.getProperty()`: 获取JavaBean对象的属性值,只需属性名,返回结果自动转换为字符...
在使用BeanUtils时,如果JavaBean对象为null,`getProperty()`和`setProperty()`方法会抛出NullPointerException。为了避免这种情况,可以在调用这些方法前先检查对象是否为null。 8. **线程安全** BeanUtils工具...
其次,`BeanUtils.getProperty()`和`BeanUtils.setProperty()`分别用于获取和设置JavaBean的属性值。这两个方法的使用非常直观,只需要提供JavaBean对象和属性名,就可以完成对属性的读取或设置。例如,如果我们有一...
1. **属性设置和获取**:BeanUtils提供`setProperty()`和`getProperty()`方法,可以方便地设置和获取JavaBean对象的属性值。例如,`BeanUtils.setProperty(bean, "propertyName", value)`会将指定对象bean的...
在这个例子中,`setProperty`方法用于设置属性值,而`getProperty`则用于获取属性值。这两个方法都接受对象和属性名作为参数,自动处理了属性名到getter和setter方法的映射。 5.4 使用BeanUtils工具获取表单数据 ...
1. **属性设置和获取**:BeanUtils提供了`setProperty()`和`getProperty()`方法,能够根据属性名自动调用相应的setter和getter方法。例如,如果我们有一个`Person`类,包含`name`属性,可以这样操作: ```java ...
- **属性访问**:BeanUtils提供了`getProperty()`和`setProperty()`方法,可以轻松地读取和设置JavaBean对象的属性。 - **转换器(Converters)**:BeanUtils内建了一套转换机制,可以自动将一种数据类型转换为另...
例如,`BeanUtils.setProperty(bean, "propertyName", value)`可以直接将指定的值赋给bean的指定属性,而`String value = BeanUtils.getProperty(bean, "propertyName")`则可以获取bean的指定属性值。 此外,...
1. 属性访问:BeanUtils提供了一系列静态方法,如`getProperty()`和`setProperty()`,可以直接通过对象名和属性名来读写属性值,无需显式调用getter或setter方法。 2. 集合操作:BeanUtils还支持集合属性的处理,...
BeanUtils.setProperty(sourceBean, propertyName, newValue); ``` 此外,对于集合类型的属性,BeanUtils也提供了解决方案。例如,如果一个Bean有一个`List`类型的属性,我们可以使用`BeanUtils.populate()`方法来...
此外,BeanUtils.getProperty()和BeanUtils.setProperty()则分别用于获取和设置JavaBean的属性值,无需关心具体的getter和setter方法。同时,BeanUtils还支持了类型转换,通过convertType()方法,我们可以将不同类型...
- `BeanUtils.setProperty(myBean, "code", "someValue")`。该语句可以动态地为名为`code`的属性设置值。 - 对于嵌套对象的属性设置同样适用。 #### 三、BeanComparator动态排序 BeanComparator是Beanutils提供的...
例如,`BeanUtils.copyProperties()`可以将一个对象的所有属性值复制到另一个对象,而`BeanUtils.getProperty()`和`BeanUtils.setProperty()`则用于获取和设置特定属性值。 2. **类型转换**:BeanUtils还提供了自动...
它提供了许多实用方法,如`getProperty()`和`setProperty()`,可以轻松地读取和设置JavaBean的属性,而无需手动调用getter和setter。 3. **类型转换**:BeanUtils库的一个关键功能是自动类型转换。当你尝试设置一个...
1. **属性设置和获取:** BeanUtils提供了`setProperty()`和`getProperty()`方法,使得我们可以非常方便地设置或获取Java Bean的属性值。这些方法通过反射机制自动找到对应的setter或getter方法,并执行相应的操作。...
例如,我们可以用`BeanUtils.setProperty(obj, "propertyName", value)`来设置对象`obj`的`propertyName`属性值,而`BeanUtils.getProperty(obj, "propertyName")`则可以获取该属性值。 2. **对象复制:** ...
1. **属性访问**:BeanUtils提供了一系列方法如`getProperty()`和`setProperty()`,可以方便地读取和设置JavaBean对象的属性,无需手动编写getter和setter方法。 2. **类型转换**:通过`convert()`方法,BeanUtils...
1. **属性设置与获取**:`BeanUtils.setProperty()`和`BeanUtils.getProperty()`方法分别用于设置和获取JavaBean对象的属性值。例如,如果有一个名为`User`的JavaBean,包含`username`属性,我们可以这样设置属性值...