在写JavaWeb的时候 没有使用 Mybaits的框架逆向生成

Java的反射实现了一下UpdateSelective,可能存在一些问题,但是功能是实现了,如果有大佬愿意帮助我,欢迎在评论区指正,感激不尽

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 更新用户的信息,其中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());
}