atitit.动态加载数据库配置in orm hibernate mybatis
atitit.動態(tài)加載數(shù)據(jù)庫配置in?orm
?
1.?動態(tài)加載數(shù)據(jù)庫配置的優(yōu)點(diǎn)::: 1
1.1.?組合多個(gè)配置文件... 1
1.2.?連接多個(gè)數(shù)據(jù)庫 1
2.?基本的流程:::getCfg內(nèi)存對象,,,,生成工廠類,在opoenSession 1
2.1.?Hibernate動態(tài)添加配置流程 1
2.2.?mybatis動態(tài)添加配置流程 1
2.3.?#===hb?code 2
3.?參考 3
?
1.?動態(tài)加載數(shù)據(jù)庫配置的優(yōu)點(diǎn):::
1.1.?組合多個(gè)配置文件...
1.2.?連接多個(gè)數(shù)據(jù)庫
2.?基本的流程:::getCfg內(nèi)存對象,,,,生成工廠類,在opoenSession
?
作者::?老哇的爪子?Attilax?艾龍,??EMAIL:1466519819@qq.com
轉(zhuǎn)載請注明來源:?http://blog.csdn.net/attilax
?
2.1.?Hibernate動態(tài)添加配置流程
原理配置configuration對象...是配置文件的java對象映射....再也configuration.buildSessionFactory();
?
=============
configuration.configure(propertyFile);
configuration.setProperty("connection.url",?connection_url);
sessionFactory?=?configuration.buildSessionFactory();
?
2.2.?mybatis動態(tài)添加配置流程
·??properties.setProperty("jdbc.password",?"動態(tài)設(shè)置");??
·????
·??//加載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
//當(dāng)然,除了指定的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動態(tài)連接數(shù)據(jù)庫,動態(tài)傳入數(shù)據(jù)庫參數(shù)?-?海濤的CSDN博客?-?博客頻道?-?CSDN.NET.htm
轉(zhuǎn)載于:https://www.cnblogs.com/attilax/p/5963883.html
總結(jié)
以上是生活随笔為你收集整理的atitit.动态加载数据库配置in orm hibernate mybatis的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python语言学习笔记
- 下一篇: SQLServer 事物与索引