java mybatis分表路由

2021-08-07 05:17:01 字數 3087 閱讀 6413

概念:

1、定義路由介面

public inte***ce routetableable

2、實現介面(預設10張子表,以『_』作為連線符,採用routevalue和子表總數取模作為表序號)

public abstract class abstractroutetable implements routetableable 

@transient

@override

public string concat()

@transient

@override

public string tableext()

}

3、繼承父類,重寫子表總數方法,採用vin欄位後8位的hashcode作為routevalue

public class carhealthbasic extends abstractroutetable implements serializable 

/*** id

* @param id id

*/public void setid(long id)

/*** 車牌號碼

* @return vehicleplatenumber

*/public string getvehicleplatenumber()

/*** 車牌號碼

* @param vehicleplatenumber

*/public void setvehicleplatenumber(string vehicleplatenumber)

/*** 維修企業名稱

* @return companyname

*/public string getcompanyname()

/*** 維修企業名稱

* @param companyname

*/public void setcompanyname(string companyname)

/*** 維修企業編碼

* @return companycode

*/public string getcompanycode()

/*** 維修企業編碼

* @param companycode

*/public void setcompanycode(string companycode)

/*** 車輛實別**

* @return vin

*/public string getvin()

/*** 車輛實別**

* @param vin

*/public void setvin(string vin)

/*** 送修日期

* @return repairdate

*/public date getrepairdate()

/*** 送修日期

* @param repairdate

*/public void setrepairdate(date repairdate)

/*** 送修里程

* @return repairmileage

*/public string getrepairmileage()

/*** 送修里程

* @param repairmileage

*/public void setrepairmileage(string repairmileage)

public long getcompanyid()

public void setcompanyid(long companyid)

@override

public int routevalue()

@override

public int tablesize()

}

4、mybatis(增刪改差都需要拼接

public string insertsql(object t) 

string str = buffer.substring(0, buffer.length() - 1);

buffer.setlength(0);

for (com.ctjy.support.mybaits.provider.entry entry : list)

str = buffer.substring(0, buffer.length() - 1);

buffer.setlength(0);

} catch (introspectionexception e)

return buffer.tostring();

}

5、getroutetablefromobject方法**如下:判斷該pojo是否為routetable的子類,如果是則返回表名字尾

public string getroutetablefromobject(object obj) 

string ext = null;

if (routetableable.class.isassignablefrom(obj.getclass()))

return ext == null ? "" : ext;

}

select a.id,a.vehicleplatenumber,

a.companyname,a.companycode,a.vin,a.repairdate,

a.repairmileage,a.settledate,a.faultdescription,a.costlistcode

from

car_health_basic$ a

car_health_basic a

limit #,#

路由表 靜態路由 RIP

1 路由表的內容 destination mask 目標網段 proto 路由 標誌 分為三大類 鏈路層自發現 靜態 動態 direct 直連 static 靜態 人工寫入的路由 rip ospf isis bgp 動態路由 一種自動計算出來的路由 pre 路由優先順序 路由表對於相同字首不同 的路...

獲取路由器位址 三分鐘了解路由器路由表

在ip網路中,資料遵循ip協議所定義的格式,裝置對其進行相應的處理,使得它能夠在網路中進行傳輸。為了實現這個功能,網路中的裝置需具備將ip報文從源 到目的地的能力。當一台路由器收到報文時,它會在自己的路由表 routing table 查詢路由,尋找該報文的目的ip位址相匹配的路由條目,如果找到匹配...

ARP表 MAC表 路由表

arp表是乙個動態表,儲存在計算機當中,目的是做乙個ip位址與mac位址的對應。假設在同一子網段,計算機a與計算機b通訊 計算機a的ip位址192.168.0.1 mac位址aa aa aa aa aa aa 計算機b的ip位址已知192.168.0.2 mac位址未知 那麼計算機a就要發起乙個ar...