在寫JavaWeb的時候沒有使用Mybaits的框架逆向生成
用Java的反射實現了一下UpdateSelective,可能存在一些問題,但是功能是實現了,如果有大佬願意幫助我,歡迎在評論區指正,感激不盡
代碼如下
/**
* 更新用戶的信息,其中user是有id的,這個方法是根據選擇性的修改
*/
public User updateUser(User user) {
User userById = userDAO.getUserById(user.getId());
Class<User> userClass = User.class;
Field[] fields = userClass.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
try {
Object original = field.get(userById);
Object present = field.get(user);
if (present != null) {
if (!present.equals(original)) {
field.set(userById, field.get(user));
}
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
userDAO.updateUserAll(userById);
return userDAO.getUserById(userById.getId());
}