zoukankan      html  css  js  c++  java
  • Atitit 获取SqlSessionFactory的三种方式 目录 第一节 DataSource 方式 1 第二节 读取sprbt Url方式 ByteArrayInputStream 1 第三节

    Atitit 获取SqlSessionFactory的三种方式

     

    目录

    第一节 DataSource 方式

    第二节 读取sprbt Url方式 ByteArrayInputStream

    第三节 Mybatis。Xml方式

     

     

      • DataSource 方式

     

    public static SqlSessionFactory getSqlSessFac(DataSource dataSourceDb2, String mapPaths) throws Exception {

    SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();

    factoryBean.setDataSource(dataSourceDb2);

    // String mapPath = "classpath:mapper/**/*.xml";

     

    factoryBean.setMapperLocations(getRsces(mapPaths));

    return factoryBean.getObject();

    }

     

      • 读取sprbt Url方式 ByteArrayInputStream

    public static SqlSessionFactory getSqlSessionFactoryBySprbtCfgfile(String mapPaths) {

    try {

    List<String> mpList = Arrays.asList(mapPaths.split(","));

    String mysqlConnUrl = SpringUtil.getDbUrlFrmSprbtCfg();

    String mybatisCfg_result = mybatisCfgTxtV2("mybatisCfgTmplt.xml", mysqlConnUrl);

     

    mybatisCfg_result = mybatisXmlParser.addmapper2xml(mpList, mybatisCfg_result);

    System.out.println(mybatisCfg_result);

    InputStream is2 = new ByteArrayInputStream(mybatisCfg_result.getBytes());

    // ����sqlSession ����

    return new SqlSessionFactoryBuilder().build(is2);

    } catch (Exception e) {

    throw new RuntimeException(e);

    }

     

    }

    public static String mybatisCfgTxtV2(String MybatisCfgPathResDir, String mysqlConnUrl) throws Exception {

     

    String mybatisCfg_result = mybatisCfgTxt(MybatisCfgPathResDir);

     

    // String getCfgFile = SpringUtil.getCfgFile();

     

    // String mysqlConnUrl =getMysqlUrlFrmSprbtCfg();

    // C:UsersATI.m2 epositorymysqlmysql-connector-java6.0.6mysql-connector-java-6.0.6.jar

    ConnectionUrlParser connStringParser = ConnectionUrlParser.parseConnectionString(mysqlConnUrl);

    System.out.println(connStringParser);

     

    Object url = mysqlConnUrl;

    Object usr = UrlUtil.parse4Q(connStringParser.getQuery()).get("user");

    Object pwd = UrlUtil.parse4Q(connStringParser.getQuery()).get("password");

    if (pwd == null)

    pwd = "";

    url = cn.hutool.core.util.XmlUtil.escape(url.toString() + "&allowMultiQueries=true");

     

    mybatisCfg_result = mybatisCfg_result.replaceAll("\$\{mysql.url}", url.toString());

    mybatisCfg_result = mybatisCfg_result.replaceAll("\$\{mysql.username}", usr.toString());

     

    mybatisCfg_result = mybatisCfg_result.replaceAll("\$\{mysql.password}", pwd.toString());

    return mybatisCfg_result;

    }

     

    private static String mybatisCfgTxt(String MybatisCfgPathResDir) throws IOException {

    // String MybatisCfgPath =getMybatisCfgPath();

    // "/" + mybatisNamespace + "mybatis.xml";

    // ����mybatis �������ļ�����Ҳ���ع�����ӳ���ļ���

    // ClassLoader classLoader = .getClassLoader();

    InputStream is = MybatisUtilV55.class.getResourceAsStream(MybatisCfgPathResDir);

    String mybatisCfg_result = CharStreams.toString(new InputStreamReader(is, Charsets.UTF_8));

    return mybatisCfg_result;

    }

      • Mybatis。Xml方式

     

    public static SqlSessionFactory getSqlsessFac(String mybatisCfgfile) throws IOException {

    InputStream is = Resources.getResourceAsStream(mybatisCfgfile);

    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);

    return sqlSessionFactory;

    }

  • 相关阅读:
    吴裕雄--天生自然C++语言学习笔记:C++ 引用
    吴裕雄--天生自然C++语言学习笔记:C++ 指针
    吴裕雄--天生自然C++语言学习笔记:C++ 字符串
    吴裕雄--天生自然C++语言学习笔记:C++ 数组
    吴裕雄--天生自然C++语言学习笔记:C++ 数字
    吴裕雄--天生自然C++语言学习笔记:C++ 函数
    吴裕雄--天生自然C++语言学习笔记:C++ 判断
    HiHoCoder1671 : 反转子串([Offer收割]编程练习赛41)(占位)
    HihoCoder1670 : 比赛日程安排([Offer收割]编程练习赛41)(模拟)
    POJ3417Network(LCA+树上查分||树剖+线段树)
  • 原文地址:https://www.cnblogs.com/attilax/p/15196839.html
Copyright © 2011-2022 走看看