課程
/后端開發
/Java
/MyBatis-Plus入門
請問有沒有 ?動態表名SQL解析器 使用的具體案例源碼呢
2019-07-25
源自:MyBatis-Plus入門
正在回答
? ? ? ?與多租戶sql解析器的實現是類似的,具體你可以參考多租戶sql解析器,他倆的最大區別是,動態表名解析器,配置的處理器可以是多個,通過可以通過DynamicTableNameParser類型對象的setTableNameHandlerMap設置,篇幅有限,我粘貼出關鍵部分代碼:
DynamicTableNameParser parser = new DynamicTableNameParser();
Map<String, ITableNameHandler> handlerMap = new HashMap<String, ITableNameHandler>();
handlerMap.put("原始表名", new ITableNameHandler() {
@Override
public String dynamicTableName(MetaObject metaObject, String sql, String tableName) {
return "你動態替換后的表名,如果返回null,就不替換采用原始表名";
}
});
parser.setTableNameHandlerMap(handlerMap);
看這兩張圖
舉報
MyBatis-Plus框架入門必學課程!
2 回答想知道動態sql有辦法實現么?
1 回答請問老師有沒有代碼生成器的介紹
2 回答有沒有源碼 老師
4 回答使用條件構造器多表聯查,返回的結果需要有兩張表的數據,請問這種老師可以寫一個例子嗎?
2 回答wq->有什么具體的含義么,還是只是定義的函數名?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-07-25
? ? ? ?與多租戶sql解析器的實現是類似的,具體你可以參考多租戶sql解析器,他倆的最大區別是,動態表名解析器,配置的處理器可以是多個,通過可以通過DynamicTableNameParser類型對象的setTableNameHandlerMap設置,篇幅有限,我粘貼出關鍵部分代碼:
DynamicTableNameParser parser = new DynamicTableNameParser();
Map<String, ITableNameHandler> handlerMap = new HashMap<String, ITableNameHandler>();
handlerMap.put("原始表名", new ITableNameHandler() {
@Override
public String dynamicTableName(MetaObject metaObject, String sql, String tableName) {
return "你動態替換后的表名,如果返回null,就不替換采用原始表名";
}
});
parser.setTableNameHandlerMap(handlerMap);
2019-07-28
看這兩張圖