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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

用mybatis一定要寫mapper文件,這是使用mybatis的常識,但有時候應(yīng)用需求,mapper文件中的節(jié)點需要動態(tài)生成,或者根據(jù)業(yè)務(wù)場景進行組裝,那這個時候的SQL語句直接寫在mapper文件顯然不可取,又或者采用動態(tài)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動態(tài)加載寫法!

dao接口:

package com.springmvc.mybatis.dao;/** * Discript: * * @author * @date 創(chuàng)建時間: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 創(chuàng)建時間:2018/10/11 15:01 */@Servicepublic class LoadMapperFileTest implements InitializingBean{ @Autowired private SqlSessionFactory sqlSessionFactory; private Configuration mapperConfig; public void afterPropertiesSet() throws Exception { //mapper文件的實際內(nèi)容,此處可根據(jù)業(yè)務(wù)需求進行拼裝文件內(nèi)容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){} }}

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

而LoadMapperFileDao調(diào)用方法返回的是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>

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧美一区在线| 欧美在线看片| 国产乱码精品一区二区三区四区| 免费国产亚洲视频| 中国女人久久久| 红桃视频欧美| 中文亚洲免费| 亚洲一二三区视频| 日本一区免费网站| 欧美啪啪一区| 免费一区二区三区在线视频| 精品国产aⅴ| 国产精品极品国产中出| 国产黄色一区| 欧美亚洲国产日韩| 国产欧美91| 日韩.com| 一本大道色婷婷在线| 欧美成人综合| 日韩在线观看中文字幕| 精品香蕉视频| 免费视频国产一区| 日本国产一区| 高清av一区| 婷婷综合网站| 97精品久久| 日韩国产一区二区三区| 亚洲女同一区| 国产美女精品视频免费播放软件| 日韩精品久久久久久| 久久亚洲黄色| 亚洲激精日韩激精欧美精品| 欧美日韩亚洲三区| 四虎国产精品免费观看| 久久亚洲美女| 精品中文字幕一区二区三区 | 欧美日韩国产在线观看网站| 四虎精品永久免费| 精品网站999| 欧美一级精品| 日韩av午夜在线观看| 精精国产xxxx视频在线野外| 中文字幕一区二区精品区| 成人国产精选| 日本精品一区二区三区在线观看视频| 另类专区亚洲| 国产亚洲精品精品国产亚洲综合| 蜜臀久久精品| 日本欧美一区二区| 黑人精品一区| 日本成人手机在线| 欧美日中文字幕| 精品国产黄a∨片高清在线| 欧美精品九九| 美女视频免费精品| 在线亚洲免费| 精品国产精品国产偷麻豆| 在线视频免费在线观看一区二区| 卡一卡二国产精品| 亚洲涩涩av| 国产在线看片免费视频在线观看| 亚洲啊v在线免费视频| 欧美日韩免费看片| 久久黄色影视| 亚洲一区欧美| 91精品国产福利在线观看麻豆| 日本不卡的三区四区五区| 成人日韩精品| 国产高清日韩| 日韩中文字幕视频网| re久久精品视频| 久久久久久自在自线| 国产精品一区二区99| 亚洲香蕉视频| 午夜在线精品| 国产亚洲亚洲| 91九色精品| 日韩精品午夜| 国产精选在线| 国产一区二区三区四区五区传媒| 日韩 欧美一区二区三区| 午夜一区在线| 亚洲激情二区| 国产精品av一区二区| 精品国产91| 色狠狠一区二区三区| 亚洲精品2区| 亚洲国产影院| 日韩免费看片| 久久久久久色 | 国产精品久久久久蜜臀| 婷婷精品久久久久久久久久不卡| 性一交一乱一区二区洋洋av| 久久九九99| 欧美日韩国产v| 国产自产自拍视频在线观看| 欧美激情精品| 久久久亚洲欧洲日产| 国产精品一区免费在线| 欧美视频一区| 国产日韩欧美一区二区三区在线观看| 久久亚洲欧美| 首页亚洲欧美制服丝腿| 午夜精品亚洲| 蜜桃视频欧美| 婷婷综合五月| 久久精品123| 亚洲无线一线二线三线区别av| 日韩在线欧美| 九九精品调教| 亚洲国产成人精品女人| 一本一道久久a久久精品蜜桃| 99久久精品国产亚洲精品| 日韩欧美精品一区| 99精品综合| 欧美日韩国产高清| 国产农村妇女精品一二区 | 欧美综合另类| 在线视频免费在线观看一区二区| 欧美日韩四区| 亚洲男人在线| 欧美国产亚洲精品| 成人小电影网站| 欧美1级日本1级| 亚洲图片久久| 欧美黑人巨大videos精品| 国产videos久久| 伊人成人网在线看| 国产亚洲精aa在线看| 日韩大片在线| 亚洲综合中文| 精品在线网站观看| 国产中文一区| 亚洲欧洲av| 国产精品九九| 成人欧美一区二区三区的电影| 国产在线日韩| 色综合视频一区二区三区日韩 | 欧美激情综合| 美女网站视频一区| 日韩精品一级中文字幕精品视频免费观看| 一区二区日韩免费看| 国产调教精品| av高清一区| 综合精品一区| 久久精品毛片| 欧美天堂亚洲电影院在线观看| 三级欧美在线一区| 国产欧美自拍| 99成人超碰| 一本一道久久a久久| 欧美国产另类| 99国产精品私拍| 欧美交a欧美精品喷水| 91精品推荐| 亚洲1区在线观看| 麻豆mv在线观看| 丝袜亚洲另类欧美| 精品国产亚洲一区二区三区大结局| 欧美在线观看视频一区| 欧美伊人久久| 久久青草久久| 欧美日韩一区二区高清| 亚洲h色精品| 久久精品97| 亚洲国内精品| 精品高清久久| 免费成人在线视频观看| 国产一区二区三区免费在线| 亚洲尤物在线| 国产传媒在线| 欧美日韩中文| 国精品一区二区| 国产极品模特精品一二| 亚洲激情黄色| 黑森林国产精品av| 国产日韩一区二区三区在线| 一区在线免费| 久久视频一区| 成人一二三区| 国产精品视频一区视频二区| 午夜欧美精品久久久久久久| 国产一区二区三区黄网站| 日韩三级视频| 国产精品毛片在线看| 久久久久91| 麻豆理论在线观看| 国产精品探花在线观看| 91成人网在线观看| 成人亚洲一区| 国产精品观看| 日本在线成人| 久久夜色精品| 激情丁香综合| 日韩在线二区| 亚洲国产欧美日本视频| 精品视频91| 国产精品观看| 7m精品国产导航在线| 亚洲一区二区免费在线观看|