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:[email protected]

转载请注明来源: 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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。