mybatis實現繼承對映

2021-09-06 11:18:57 字數 1471 閱讀 4197

orm 框架的優勢在於能讓我們利用物件導向的思維去運算元據庫, hibernate 作為重量級的 orm 框架對物件導向的支援很強大。作為半自動化的 mybatis ,對物件導向的支援也是很完備的。這篇文章就來討論一下如何利用 mybatis

實現繼承對映。

類圖

有乙個機動車父類,它有兩個子類: car 和 bus

關係模型 (t_vehicle)

orm 對映有乙個原則:物件模型細粒度,關係模型粗粒度。所以我們將所有的車都儲存一張表裡( t_vehicle ),通過鑑別字段 vtype 來區分車的型別( "c" 代表 car ,"b" 代表 bus )

三個實體類的**

vehicle

package com.tgb.mybatis.model;

public class vehicle public void setid(string id) public string getname() public void setname(string name) }

car

package com.tgb.mybatis.model;

public class car extends vehicle public void setcardoor(int cardoor) public string getband() public void setband(string band) }

bus

package com.tgb.mybatis.model;

public class bus extends vehicle public void setcapacity(int capacity) }

package com.tgb.mybatis.data;

import com.tgb.mybatis.model.bus;

import com.tgb.mybatis.model.car;

import com.tgb.mybatis.model.vehicle;

xml 方式 orm 對映

<?xml version="1.0" encoding="utf-8" ?>  

分析

其中最為關鍵的就 標籤中的內容,根據鑑別欄位的值自動對映成對應的子類

客戶端測試**

system.out.println(vehicle.getname());

system.out.println(car.getband());

MyBatis 輸出對映

使用resulttype進行輸出對映,只有查詢出來的列名和pojo中的屬性名一致,該列才可以對映成功 如果查詢出來的列名和pojo中的屬性全部不一致,沒有建立pojo物件 如果查詢出來的列名和pojo中的屬性有乙個一致,則建立pojo物件 1.1.1 需求 使用者資訊的綜合資訊查詢列表總數。1.1....

MyBatis關聯對映

mybatis關聯對映 將多個表記錄提取,封裝成具有關聯關係的物件。關係型別 分為單個物件關聯和多個物件關聯 cn user user物件 cn notebook book物件 cn user cn notebook 具有物件關聯關係的物件 book user 乙個book對應乙個user user...

MyBatis對映示例

resultmap 返回結果的對映 resultmap的id是這個對映的名字,可在查詢語句中引用表示此查詢返回該結果 type是模型物件的類名,也可以寫成別名 簡化作用 簡化成別名時,需要先註冊別名 resultmap內部 標籤表示該查詢中涉及的主鍵的對映關係 標籤表示普通資料屬性或字段的對映關係 ...