atitit.动态加载数据库配置in orm hibernate mybatis
atitit.动态加载数据库配置in orm
2. 基本的流程:::getCfg内存对象,,,,生成工厂类,在opoenSession
1
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
atitit.动态加载数据库配置in orm hibernate mybatis的更多相关文章
- Spring BeanPostProcessor与动态加载数据源配置
前言: 本文旨在介绍Spring动态配置数据源的方式,即对一个DataSource的配置诸如jdbcUrl,user,password,driverClass都通过运行时指定,而非由xml静态配置定死 ...
- Extjs-树 Ext.tree.TreePanel 动态加载数据
先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...
- [oldboy-django][1初始django]模态对话框 + 动态加载gif (多对多数据库表)
ajax+对话框(多对多) - 遮罩层,动态加载gif层,对话框层, a.一点击添加,绑定事件: - 出现遮罩层和动态gif层 - ajax向后台发送请求获取所有班级数据 - success,隐藏动态 ...
- Ext JS 如何动态加载JavaScript创建窗体
JavaScript不需要编译即可运行,这让JavaScript构建的应用程序可以变得很灵活.我们可以根据需要动态从服务器加载JavaScript脚本来创建和控制UI来与用户交互.下面结合Ext JS ...
- js的动态加载、缓存、更新以及复用(四)
本来想一气呵成,把加载的过程都写了,但是卡着呢,所以只好在分成两份了. 1.页面里使用<script>来加载 boot.js . 2.然后在boot.js里面动态加载 bootLoad.j ...
- Winform开发框架之客户关系管理系统(CRM)的开发总结系列4-Tab控件页面的动态加载
在前面介绍的几篇关于CRM系统的开发随笔中,里面都整合了多个页面的功能,包括多文档界面,以及客户相关信息的页面展示,这个模块就是利用DevExpress控件的XtraTabPage控件的动态加载实现的 ...
- Android之数据存储----使用LoaderManager异步加载数据库
一.各种概念: 1.Loaders: 适用于Android3.0以及更高的版本,它提供了一套在UI的主线程中异步加载数据的框架.使用Loaders可以非常简单的在Activity或者Fragment中 ...
- 关于设置SQLPLUS提示符样式的方法----登陆配置文件,动态加载提示符
工作中用到 sqlplus mdsoss/mdsoss, 所以来了解一下sqlplus (C shell .cshrc文件里中alisa) 关于设置SQLPLUS提示符样式的方法 12638阅读 1评 ...
- [改善Java代码]使用forName动态加载类文件
动态加载(Dynamic Loading)是指在程序运行时加载需要的类库文件,对Java程序来说,一般情况下,一个类文件在启动时或首次初始化时会被加载到内存中,而反射则可以在运行时再决定是否需要加载一 ...
随机推荐
- SCI写作经验交流,别人的经验借鉴下,很有用的!
http://www.dxy.cn/bbs/topic/27127771 语言是非英语国家论文的最大障碍.首先是时态和语态:在前言和讨论里,描述该研究的过去历史和现状时,要使用相应的时态:过去就使用过 ...
- 开源PLM软件Aras详解五 如何让ItemType显示在TOC上
通过上一边ItemType我们大概了解,那么如何让ItemType显示在左侧的菜单上呢,又如何设置增删查改的权限呢,接下来将为演示. 在上一篇中,我们知道了ItemType的结构图,如下图 那么如何让 ...
- nodejs--偏函数
偏函数的例子,解释--假设有一个参数或变量已经预置的函数A,我们通过调用A来产生一个新的函数B,函数B就是我们说的偏函数 偏函数解决这样的问题:如果我们有函数是多个参数的,我们希望能固定其中某几个参数 ...
- 决策树算法(1)含java源代码
信息熵:变量的不确定性越大,熵越大.熵可用下面的公式描述:-(p1*logp1+p2*logp2+...+pn*logpn)pi表示事件i发生的概率ID3:GAIN(A)=INFO(D)-INFO_A ...
- WCF三种通信模式
WCF在通信过程中有三种模式:请求与答复.单向.双工通信. 请求与答复模式 描述:客户端发送请求,然后一直等待服务端的响应(异步调用除外),期间处于假死状态,直到服务端有了答复后才能继续执行其他程序 ...
- Activity使用startActivityForResult时出现onActivityResult()不执行的问题
通过使用 startActivityForResult() 和 onActivityResult() 方法可以在Activity之间传递或接收参数.但有时候我们会遭遇onActivityResult( ...
- XML文件操作(C#)
XML应用于Web开发的许多方面,常用于简化数据的存储和共享,它的设计宗旨是传输数据,而非显示数据.下面简单介绍一下C#是如何对XML文件进行读取的. 1.首先,建立XML对象并关联XML文件 str ...
- 使用GITHUB的体会
github的网页链接 https://github.com/zhangji123/test 学习总结 通过学习使用github软件使我掌握了其使用方法及其独特之处 1.github的网址: htt ...
- 【Map】MapTest
package cn.itcast.p1.map.test; import java.util.HashMap; import java.util.Map; public class MapTest2 ...
- 信心题--FUOJ2226(莫队算法)
http://acm.fzu.edu.cn/problem.php?pid=2226 信心题,还说是信心题,题目给的真好.但是一点都不像信心题. 又是一个新的算法,莫队算法 莫队算法是一个用数组就可以 ...