zoukankan      html  css  js  c++  java
  • atitit.动态加载数据库配置in orm hibernate mybatis

    atitit.动态加载数据库配置in orm

    1. 动态加载数据库配置的优点::: 1

    1.1. 组合多个配置文件... 1

    1.2. 连接多个数据库 1

    2. 基本的流程:::getCfg内存对象,,,,生成工厂类,opoenSession 1

    2.1. Hibernate动态添加配置流程 1

    2.2. mybatis动态添加配置流程 1

    2.3. #===hb code 2

    3. 参考 3

    1. 动态加载数据库配置的优点:::

    1.1. 组合多个配置文件...

    1.2. 连接多个数据库

    2. 基本的流程:::getCfg内存对象,,,,生成工厂类,opoenSession

    作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

    2.1. Hibernate动态添加配置流程

    原理配置configuration对象...是配置文件的java对象映射....再也configuration.buildSessionFactory();

     

    =============

    configuration.configure(propertyFile);

    configuration.setProperty("connection.url", connection_url);

    sessionFactory = configuration.buildSessionFactory();

    2.2. mybatis动态添加配置流程

    ·  properties.setProperty("jdbc.password", "动态设置");  

    ·    

    ·  //加载mybatis配置文件和映射文件  

    ·  String resource = "mybatis/mybatis-config.xml";  

    ·  Reader reader = Resources.getResourceAsReader(resource);  

    ·  SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();  

    ·  SqlSessionFactory factory = builder.build(reader, properties);  

    ·  SqlSession session = factory.openSession();  

    2.3. #===hb code

    static  {

        try {

        

    configuration.configure(propertyFile);

    // o8j

    Properties properties = new Properties();

    properties.load(new InputStreamReader(new FileInputStream(pathx

    .classPath() + "/jdbc.properties"), "utf-8"));

    String username = properties.getProperty("jdbc.username").trim();

    String password = properties.getProperty("jdbc.password");

    String driverClass = properties.getProperty("jdbc.driverClassName")

    .trim();

    String connection_url = properties.getProperty("jdbc.url").trim();

    //configuration.setProperties(properties);

    configuration.setProperty("connection.driver_class", driverClass);

    configuration.setProperty("connection.url", connection_url);

    configuration.setProperty("connection.username", username);

    configuration.setProperty("connection.password", password);

    configuration.setProperty("hibernate.connection.url",

    connection_url);

    configuration.setProperty("hibernate.connection.driver_class",

    driverClass);

    configuration

    .setProperty("hibernate.connection.username", username);

    configuration

    .setProperty("hibernate.connection.password", password);

    //end o8j

    //当然,除了指定的XML文件外,还可以指定被映射的类,让Hibernate帮你寻找映射定义文件:

    //configuration.addClass(GvMaterial.class);

    //configuration.addAnnotatedClass(GvMaterial.class);

    // configuration.set

    //configuration.addResource(resourceName) 

    sessionFactory = configuration.buildSessionFactory();

    } catch (Exception e) {

    System.err

    .println("%%%% Error Creating SessionFactory %%%%");

    e.printStackTrace();

     

    throw new RuntimeException(e);

      //ati o8j

    }

     

    3. 参考

    MyBatis动态连接数据库,动态传入数据库参数 海涛的CSDN博客 博客频道 - CSDN.NET.htm

    我要啦免费统计
  • 相关阅读:
    宋浩《概率论与数理统计》笔记---6.2.1、统计量定义
    宋浩《概率论与数理统计》笔记---6.1、总体与样本
    宋浩《概率论与数理统计》笔记---5.2、中心极限定理
    PHP使用curl替代file_get_contents
    PHP中的ini_set() 函数
    通俗理解中心极限定理
    宋浩《概率论与数理统计》笔记---5.1.2、切比雪夫大数定理
    Options / Lifecycle Hooks
    idea各种图标的含义
    Gradle 基础入门
  • 原文地址:https://www.cnblogs.com/attilax/p/15199123.html
Copyright © 2011-2022 走看看