• 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

    我要啦免费统计
  • 相关阅读:
    C语言I博客作业05 sun
    C语言I博客作业08 sun
    C语言I博客作业02 sun
    C语言I博客作业04 sun
    elastix的web端口修改
    mysql.proc错误解决
    Client.Error.MessageSend 错误解决方案
    让secureCRT正确显示中文
    elastix的多个inbound route的设置
    PHP5.1时间相差8小时问题解决。
  • 原文地址:https://www.cnblogs.com/attilax/p/15199123.html
Copyright © 2020-2023  润新知