日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

mybatis 運行時加載自定義mapper文件方式

瀏覽:42日期:2023-10-18 14:30:24
mybatis 運行時加載自定義mapper文件

用mybatis一定要寫mapper文件,這是使用mybatis的常識,但有時候應用需求,mapper文件中的節點需要動態生成,或者根據業務場景進行組裝,那這個時候的SQL語句直接寫在mapper文件顯然不可取,又或者采用動態SQL完成,今天介紹一種方式,支行時加載自定義mapper配置文件。

我首先介紹一種mapper文件存在的寫法,也是大家常用的,至于spring-mybatis配置方法,我這里就不列了:

dao接口:

package com.springmvc.mybatis.dao;import java.util.List;public interface DatabaseObjectQueryDao { List<String> getAllSequence(); }

mapper文件:

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-mapper.dtd'><mapper namespace='com.springmvc.mybatis.dao.DatabaseObjectQueryDao'> <select resultType='String'> select sysdate from dual </select> </mapper>好,大家注意了, 下面開始分享無mapper動態加載寫法!

dao接口:

package com.springmvc.mybatis.dao;/** * Discript: * * @author * @date 創建時間:2018/10/11 15:33 */public interface LoadMapperFileDao { String getAllSequence();}

這里沒有mapper文件,怎么辦? 沒有我們就給他造:

package com.springmvc.mybatis.test;import org.apache.ibatis.builder.xml.XMLMapperBuilder;import org.apache.ibatis.session.Configuration;import org.apache.ibatis.session.SqlSessionFactory;import org.springframework.beans.factory.InitializingBean;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.io.ByteArrayInputStream;import java.io.InputStream;/** * Discript: * * @author * @date 創建時間:2018/10/11 15:01 */@Servicepublic class LoadMapperFileTest implements InitializingBean{ @Autowired private SqlSessionFactory sqlSessionFactory; private Configuration mapperConfig; public void afterPropertiesSet() throws Exception { //mapper文件的實際內容,此處可根據業務需求進行拼裝文件內容String contextXml = '<?xml version='1.0' encoding='UTF-8'?>n' +'<!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN' n' +''http://mybatis.org/dtd/mybatis-3-mapper.dtd'>n' +'<mapper namespace='com.springmvc.mybatis.dao.LoadMapperFileDao'>n' +'t<select resultType='String'>n' +'ttselect sysdate from dual n' +'t</select>n' +'</mapper>'; //一般與namespace相同String mapperId = 'com.springmvc.mybatis.dao.LoadMapperFileDao';mapperConfig = sqlSessionFactory.getConfiguration();try { InputStream is = new ByteArrayInputStream(contextXml.getBytes()); XMLMapperBuilder xmlMapperBuilder = new XMLMapperBuilder(is, this.mapperConfig, mapperId, this.mapperConfig.getSqlFragments()); xmlMapperBuilder.parse(); System.out.println('自定義加載完畢!');}catch (Exception e){} }}

總體測試效果及結果代碼如下,大家可以看到DatabaseObjectQueryDao 調用的方法返回值是list所以結果有中括號。

而LoadMapperFileDao調用方法返回的是string所以只看見一串時間 :

mybatis 運行時加載自定義mapper文件方式

mybatis 加載 mapper 映射文件的三種方式

有一段時間沒用過 mybatis 了,今天重溫了一下 mybatis,來了解下 mybatis 加載映射文件的三種方式。

第一種:通過資源路徑加載

如果你的 mapper 文件在如圖所示的地方

mybatis 運行時加載自定義mapper文件方式

你在 mybatis 的配置文件中可以這樣加載 mapper

<mappers><mapper resource='com/yangtao9898/jungle_war_server/mapper/UserDao.xml'/></mappers>

記住,通過 resource 加載,中間是斜杠 “/” 而不是點 “.” 哦。

第二種:通過加載接口類來加載映射文件

如果你的 mapper 文件和接口文件在同一個包下且同名

mybatis 運行時加載自定義mapper文件方式

就可以通過加載接口類來加載映射文件

在配置文件中這樣寫

<mappers><mapper /></mappers>第三種:批量加載類接口和映射文件

用此種方式批量加載,也需要接口類名和 mapper 名稱相同

mybatis 運行時加載自定義mapper文件方式

配置如下,這樣就可以掃描整個包的 mapper 文件

<mappers><package name='com.yangtao9898.jungle_war_server.dao'/></mappers>

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美激情综合| 国产人成精品一区二区三| 六月丁香综合| 波多野结衣一区| 四虎影视精品| 欧美aa一级| 裤袜国产欧美精品一区| 国产精品久久亚洲不卡| 视频一区二区三区中文字幕| 久久精品高清| 欧美日韩少妇| 中文无码日韩欧| 日韩不卡一区二区| 欧美交a欧美精品喷水| 欧美激情aⅴ一区二区三区| 精品一区视频| 在线视频观看日韩| 性色一区二区| 日韩精品成人| 成人精品动漫一区二区三区| 欧美成人精品三级网站| 午夜久久tv| 欧美精品国产白浆久久久久| 国产精品大片| 久久久精品五月天| 水野朝阳av一区二区三区| 快she精品国产999| 一区二区三区网站| 青草av.久久免费一区| 欧美91精品| 亚洲精品美女91| 日本中文字幕一区二区| 日韩精品视频中文字幕| 日韩av字幕| 精品伊人久久久| 日韩精品欧美| 亚洲神马久久| 日本不卡不码高清免费观看| 亚州欧美在线| 精品国产中文字幕第一页| 日本美女一区| 野花国产精品入口| 亚洲乱亚洲高清| 日韩毛片网站| 日韩电影在线视频| 亚洲一区欧美激情| 欧美一区二区三区免费看| 日本一区二区高清不卡| 99在线精品视频在线观看| 日韩在线观看中文字幕| 成人午夜网址| 伊人久久大香线蕉av超碰演员| 亚洲最新av| 国产精品一区二区精品| 久久久9色精品国产一区二区三区| 视频一区在线视频| 毛片在线网站| 日韩精品导航| 婷婷精品进入| 精品久久久网| 午夜精品影视国产一区在线麻豆| 四虎国产精品免费观看| 亚洲欧美日韩国产一区| 国产粉嫩在线观看| 欧美日韩xxxx| 蜜桃久久久久久| 久久亚洲欧洲| 久久精品123| 欧美日韩99| 99视频精品| 蜜桃精品在线| 另类综合日韩欧美亚洲| 亚洲精品亚洲人成在线观看| 中文另类视频| 97国产精品| 国产日本久久| 中文不卡在线| 欧美日中文字幕| 日韩视频网站在线观看| 日产精品一区二区| 精品视频黄色| 卡一卡二国产精品| 国产精品丝袜在线播放| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲精品网址| 鲁大师成人一区二区三区| 亚洲精品99| 不卡一区2区| 黄色亚洲大片免费在线观看| 亚洲性图久久| 丝袜美腿一区| 欧美综合另类| aa亚洲婷婷| 日本欧美一区| 精品一区av| 日韩高清中文字幕一区二区| 91麻豆国产自产在线观看亚洲| 91av亚洲| 久久精品欧美一区| 夜夜精品视频| 日韩亚洲精品在线观看| 国产美女视频一区二区| 欧美激情视频一区二区三区免费 | 欧美日韩夜夜| 免费在线日韩av| 欧美天堂视频| 免费久久精品| 日韩av字幕| 成人小电影网站| 午夜亚洲一区| 麻豆视频一区二区| yellow在线观看网址| 香蕉精品久久| 日韩精品一区二区三区中文在线| 国产精品sm| 91九色精品| 国产精品一线| 激情五月色综合国产精品| 亚洲理论在线| 青青青免费在线视频| 日韩亚洲在线| 久久精品国产久精国产| 免费在线观看成人| 精品国产欧美日韩| 香蕉成人久久| 天堂√中文最新版在线| 久久性天堂网| 日韩大片在线观看| 婷婷综合电影| 九一国产精品| 六月婷婷综合| 国产日韩欧美一区| 亚洲视频www| 久久精品国产99久久| 亚洲欧洲国产精品一区| 99国产精品久久久久久久成人热| 国产精品115| 日韩精品一区二区三区中文| 91成人网在线观看| 国产理论在线| 免费一级欧美片在线观看网站| 午夜一区在线| 国产精品成人一区二区网站软件| 日韩国产网站| 日韩精品视频在线看| 麻豆精品网站| 久久九九99| 在线视频日韩| 亚洲一区日韩| 免费美女久久99| 国产一区二区高清| 蜜桃久久av| 亚洲精品系列| 亚洲麻豆一区| 日韩av二区在线播放| 日韩国产精品久久久久久亚洲| 亚洲国产不卡| 亚洲欧美久久久| 亚洲欧美日韩综合国产aⅴ| 狠狠色综合网| 亚洲2区在线| 高清日韩中文字幕| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 精品视频一二| 久久毛片亚洲| 国产精品7m凸凹视频分类| 日韩视频一区| 男人天堂欧美日韩| 日韩精品福利一区二区三区| 欧美色综合网| 91综合视频| 亚洲欧美日韩专区| 欧美亚洲人成在线| 久久久久久亚洲精品美女| 国精品一区二区| 日韩综合小视频| 精品国产三区在线| 婷婷丁香综合| 日韩二区在线观看| zzzwww在线看片免费| 妖精视频成人观看www| 日韩激情啪啪| 精品理论电影在线| 亚洲网站视频| 97久久亚洲| 99久久九九| 视频国产精品| 99在线精品视频在线观看| 国产欧美日韩影院| 黄色日韩在线| 极品av在线| 国产精品99久久久久久董美香| 午夜电影亚洲| 国产农村妇女精品一二区| 日韩电影免费在线观看| 国产精品chinese| 国产美女久久| 亚洲精品系列| 日韩在线观看一区二区三区| 国产精品一区二区免费福利视频|