在写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());
}