中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Mybatis源碼[01.SqlSessionFactoryBuilder]

可以說每個(gè)MyBatis都是以一個(gè)SqlSessionFactory實(shí)例為中心的。SqlSessionFactory實(shí)例可以通過SqlSessionFactoryBuilder來構(gòu)建。一是可以通過XML配置文件的方式來構(gòu)建SqlSessionFactory,二是可以通過Java API的方式來構(gòu)建。但不管通過什么方式都有一個(gè)Configuration貫穿始終,各種配置正是通過Configuration實(shí)例來完成實(shí)現(xiàn)。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供五指山網(wǎng)站建設(shè)、五指山做網(wǎng)站、五指山網(wǎng)站設(shè)計(jì)、五指山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、五指山企業(yè)網(wǎng)站模板建站服務(wù),10余年五指山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

public class SqlSessionFactoryBuilder {

  // (1) 從配置文件獲取SqlSessionFactory
  public SqlSessionFactory build(Reader reader) {
    return build(reader, null, null);
  }

  // (2) 從配置文件獲取SqlSessionFactory,并設(shè)定依賴哪種環(huán)境參數(shù)(開發(fā)環(huán)境/生產(chǎn)環(huán)境)
  public SqlSessionFactory build(Reader reader, String environment) {
    return build(reader, environment, null);
  }

  // (3) 從配置文件獲取SqlSessionFactory,并設(shè)定依賴哪些配置參數(shù)(屬性配置文件,那些屬性可以用${propName}語法形式多次用在配置文件中)
  public SqlSessionFactory build(Reader reader, Properties properties) {
    return build(reader, null, properties);
  }

  // 通用構(gòu)建函數(shù)-:(1)、(2)、(3)構(gòu)建函數(shù)內(nèi)部實(shí)現(xiàn)均調(diào)用的此函數(shù)
  public SqlSessionFactory build(Reader reader, String environment, Properties properties) {
    try {
      //委托XMLConfigBuilder來解析xml文件,并返回一個(gè)Configuration對象,SqlSessionFactory的生成依賴于此Configuration對象
      XMLConfigBuilder parser = new XMLConfigBuilder(reader, environment, properties);
      return build(parser.parse());
    } catch (Exception e) {
      throw ExceptionFactory.wrapException("Error building SqlSession.", e);
    } finally {
      ErrorContext.instance().reset();
      try {
        reader.close();
      } catch (IOException e) {
        // Intentionally ignore. Prefer previous error.
      }
    }
  }

  // (4) 從數(shù)據(jù)流中獲取SqlSessionFactory
  public SqlSessionFactory build(InputStream inputStream) {
    return build(inputStream, null, null);
  }

  // (5) 從數(shù)據(jù)流中獲取SqlSessionFactory,并設(shè)定依賴哪種環(huán)境參數(shù)(開發(fā)環(huán)境/生產(chǎn)環(huán)境)
  public SqlSessionFactory build(InputStream inputStream, String environment) {
    return build(inputStream, environment, null);
  }

  // (6) 從數(shù)據(jù)流中獲取SqlSessionFactory,并設(shè)定依賴哪些配置參數(shù)(屬性配置文件,那些屬性可以用${propName}語法形式多次用在配置文件中)
  public SqlSessionFactory build(InputStream inputStream, Properties properties) {
    return build(inputStream, null, properties);
  }

  // 通用構(gòu)建函數(shù)二:(4)、(5)、(6)構(gòu)建函數(shù)內(nèi)部實(shí)現(xiàn)均調(diào)用此函數(shù)
  public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) {
    try {
      XMLConfigBuilder parser = new XMLConfigBuilder(inputStream, environment, properties);
      return build(parser.parse());
    } catch (Exception e) {
      throw ExceptionFactory.wrapException("Error building SqlSession.", e);
    } finally {
      ErrorContext.instance().reset();
      try {
        inputStream.close();
      } catch (IOException e) {
        // Intentionally ignore. Prefer previous error.
      }
    }
  }

  // 通用構(gòu)建函數(shù)一和通用構(gòu)建函數(shù)二最終調(diào)用此函數(shù),將XMLConfigBuilder 產(chǎn)生的Configuration作為參數(shù),并返回DefaultSqlSessionFactory對象
  public SqlSessionFactory build(Configuration config) {
    return new DefaultSqlSessionFactory(config);
  }

}

分享題目:Mybatis源碼[01.SqlSessionFactoryBuilder]
網(wǎng)址分享:http://m.rwnh.cn/article42/igjhhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)全網(wǎng)營銷推廣、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版網(wǎng)頁設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
建瓯市| 神农架林区| 苏尼特右旗| 平乐县| 九江市| 卢龙县| 黄骅市| 德化县| 甘肃省| 渭南市| 蓬安县| 柘城县| 久治县| 论坛| 屏南县| 遂宁市| 视频| 万州区| 南川市| 新和县| 彭阳县| 冕宁县| 都匀市| 友谊县| 锡林浩特市| 余庆县| 阜城县| 工布江达县| 佛坪县| 沙湾县| 仁怀市| 汤阴县| 剑阁县| 仁布县| 龙门县| 三台县| 岳阳市| 高唐县| 五寨县| 津市市| 横峰县|