MyBatis 獲取子類的屬性
阿新 • • 發佈:2018-12-25
這裡有個model類:
基類:
子類:
Dao 層方法引數為父類
Selet(user user)
Mapper.xml 引數也為父類
parameterType=’user’
<if test="vip!=null">vipE=#{vip,jdbcType=int},</if>
這裡可以獲取子類的屬性 vip;
Java 程式碼實現父類獲取子類的所有屬性
基類:
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()); }