MyBatis 获取子类的属性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotpots/article/details/80534347
这里有个model类:


基类:
public class user {


    public int getId() {
        return id;
    }


    public void setId(int id) {
        this.id = id;
    }


    private  int id;


}


子类:
public class vipUser extends user {
    public int getVip() {
        return vip;
    }


    public void setVip(int vip) {
        this.vip = vip;
    }


    private  int vip;
}








Dao 层方法参数为父类
Selet(user user)


Mapper.xml  参数也为父类


parameterType=’user’
<if test="vip!=null">vipE=#{vip,jdbcType=int},</if>


这里可以获取子类的属性 vip;


Java 代码实现父类获取子类的所有属性


   
 void testuser(user user) throws IllegalAccessException {
Class clas= user.getClass();
/**
         * 返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段(包括私有成员
         */
             Field[] fields = clas.getDeclaredFields();
             for (Field f : fields) {
             /**
             * 取消默认 Java 语言访问控制检查的能力
             */
            f.setAccessible(true);
            System.out.println("属性名"+f.toString());


            System.out.println("属性值:"+f.getInt(user));


        }
//            System.out.println(user.getClass().getName());


    }



猜你喜欢

转载自blog.csdn.net/hotpots/article/details/80534347