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

我要啦免费统计

转载于:https://www.cnblogs.com/attilax/p/5963883.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅!德勤TMT行业2019十大预测,遍地黄金的中国机会

来源:智东西摘要:着眼于全球科技、传媒和电信行业在未来5年的关键趋势,分析颠覆性技术变革及未来可能会影响行业内企业的因素。全球最大的会计事务所德勤于近日发布了《2019科技、传媒和电信行业预测》报告,该报告着眼于全球科技、…

PHP环境安全性能检查

PHP环境安全性能检查 PHP在Linux环境下安全配置是一个复杂的过程,其中涉及到很多的细节设置,在这里发出来一个脚本,通过这个脚本来检测你的PHP环境是否存在安全隐患,从而针对这些对你的PHP环境进行加固。功能: 1.检测P…

经济学人: Arm,孙正义手中的这只水晶球正在帮助他预测未来

来源:经济学人编译:机器之能 高璇摘要:除了看中 Arm 出色的盈利能力,对于孙正义来说,Arm 更像是未来计算应用的信息交换中心,虽然不能给软银具体的投资建议,但 Arm 确实可以告诉孙正义有前景、值…

深入浅出浮点数

1. 什么是浮点数在计算机系统的发展过程中,曾经提出过多种方法表达实数。典型的比如相对于浮点数的定点数(Fixed Point Number)。在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置。货币的表达就可以使用这种方式&am…

深度解析2019中国机器人行业年会主旨报告:把脉中国机器人发展,助力产业创新与协作共融...

来源:机器人大讲堂摘要:1月10日,由机器人大讲堂联合主办的2019中国机器人行业年会在北京盛大开幕。2018年经济下行趋势明显,迫使我们能沉下心来面对之前异常火爆的机器人市场,整个行业开始变得跌跌撞撞,很多…

如何防止基因编辑技术突破底线:警惕科学狂人再现

作者:胡丹萍 吴跃伟 刘楚来源:澎湃新闻从前隅于学界的基因编辑一词,在2018年,有如一声惊雷传入寻常百姓家。DNA和基因是生物体的核心代码,使用一组生物分子像剪刀或橡皮一样精确地改变基因序列即基因编辑技术。几十年来…

opencv简单的矩阵操作

OpenCV的基本矩阵操作与示例 OpenCV中的矩阵操作非常重要,本文总结了矩阵的创建、初始化以及基本矩阵操作,给出了示例代码,主要内容包括: 创建与初始化矩阵加减法矩阵乘法矩阵转置矩阵求逆矩阵非零元素个数矩阵均值与标准差矩阵全…

中科院院士丁汉:数字化制造、机器人、人工智能是智能制造 “三驾马车”

丁汉院士演讲1月10日,由中国机电一体化技术应用协会、北京理工大学智能机器人与系统高精尖创新中心、中关村智友天使学院、机器人大讲堂(立德共创服务平台)、中关村融智特种机器人产业联盟和中关村信息谷等单位共同举办的2019年中国机器人行业年会在北京召开。会上&…

图像拼接---图片柱面投影简单实现

算法思想参考:http://blog.csdn.net/weixinhum/article/details/50611750 柱面投影是图片拼接的前期的一部分工作,以下代码只是简单的实现了投影,还可以优化, 柱面半径设置位图片宽度的一半,即 R width/2 代码运算…

从消费端到企业端,从设备到数据:物联网市场的爆发式增长

来源:资本家实验室随着越来越多的设备接入网络,并实现相互沟通,我们正在加速进入“万物互联”的时代。在此背景下,连接设备的数量、产生的收入和数据量也将呈现惊人的增长:到2020年,全球连接设备数量将达到…

《LoadRunner 没有告诉你的》之四——理解性能

本文是《LoadRunner没有告诉你的》系列文章的第四篇,在这篇短文中,我将尽可能用简洁清晰的文字写下我对“性能”的看法,并澄清几个容易混淆的概念,帮助大家更好的理解“性能”的含义。 如何评价性能的优劣: 用户视角 vs. 系统视角…

容斥原理---概念介绍

容斥原理---概念介绍 容斥原理是一种基本的计数工具。 假设我们有N个对象的集合A,设a1, a2,…, ar是这些对象可能有的性质的集合,设N(ai )是有性质ai的对象数目。一个对象可能有若干个所讨论的性质(或一个性质也没有)。设N(a’i …

c#自动更新+安装程序的制作

一、自动更新的实现 让客户端实现自动更新,通常做法是在客户端部署一个单独的自动更新程序。主程序启动后,访问服务端,检查配置文件是否有更新版本,有更新版本就启动更新程序,由更新负责下载更新版本,并更新…

中国AI科研产出全球第一 但引文影响力低

来源:科学网 日前,爱思唯尔发布了《人工智能:知识的创造、转移与应用》报告,分析了全球人工智能科研的发展趋势。报告显示,2017年中国在人工智能领域出版的文章数量位列全球第一,科研产出已在2004年超过美国…

OpenCV--SIFT算法检测特征点

代码选自:http://blog.csdn.net/zhaocj/article/details/42124473 SIFT算法是用来检测图像中特征点的, 代码如下: opencv版本:2.4.9 #include "opencv2/opencv.hpp" #include "opencv2/imgproc/imgproc.hpp" #include…

对话 Geoffrey Hinton Demis Hassabis :人工智能离我们有多远?

来源:AI科技评论预测用户喜欢的音乐类型、检测出转移性肿瘤、生成脑癌的综合扫描、利用真实世界中拍摄的视频创造出虚拟环境、识别出被拐卖的人口、击败国际象棋大师以及专业的 Dota2 电竞团队、帮助 Alphabet 旗下的 Waymo 首次推出商业无人驾驶出租车服务、代替出…

SharePoint 2013 关于自定义显示列表表单的bug

1、在SharePoint 2013中,我们隐藏列表Dispform页面的ListFormWebPart部件,转而使用自定义显示列表表单进行展示,因为这样更容易定制我们需要的显示; 2、之后发现文件夹下的文档,查看属性会报错,如下图&…

SIFT算法中概念简单解释

尺度空间 真实世界的物体只有在一定尺度上才有意义,例如我们能够看到放在桌子上的水杯,但对于整个银河系,这个水杯是不存在的。物体的这种多尺度的本质在自然界中是普遍存在的。尺度空间就是试图在数字图像领域复制这个概念。又比如&#xf…

发布|CES 2019 科技趋势(附40页PPT)

来源:Robot未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网&#xff…

UVAL - 6755 - Swyper Keyboard

先上题目: https://icpcarchive.ecs.baylor.edu/external/67/6755.pdf 题目复制起来比较麻烦。 题意:定义一种操作:给出一个字符串,然后手指就按照给出的字符串的字符出现顺序不离开触摸屏那样移动,这样最后就会得到一…