反射實現UpdateSelective

在寫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());
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章