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
atitit.动态加载数据库配置in orm hibernate mybatis相关推荐
- mysql 动态加载数据库数据库连接,如何根据每个客户端动态连接mysql数据库?
我在这里使用mean stack m=mysql构建一个saas产品 我使用sequelize作为orm for mysql,我的连接: const sequelize = new Sequelize ...
- mysql动态加载数据库数据库_Mysql动态更新数据库脚本的示例讲解
具体的upgrade脚本如下: 动态删除索引 DROP PROCEDURE IF EXISTS UPGRADE; DELIMITER $$ CREATE PROCEDURE UPGRADE() BEG ...
- Jquery导航条淡进淡出相册(动态无刷新加载数据库数据)
原理:AJAX动态加载数据库中图片信息给游览器,利用2个叠词div动态修改内部图片透明度做出淡进淡出效果.(IE6无效) 难点:json数组操作. HTML:就是几个图片容器.加载大图的div pos ...
- java 手动加载数据库驱动_JAVA加载数据库驱动(JDBC)
JAVA加载数据库驱动(JDBC) 前言 之前,对Class.forName("com.mysql.jdbc.Driver");这条动态加载JDBC驱动感觉很疑惑,故有了这篇短文. ...
- Linux 2.6内核的编译步骤及模块的动态加载
本文是基于2.6的内核,也建议各位可以先看一下<Linux内核设计与实现(第二版)>作为一个基础知识的铺垫.当然,从实践角度来看,只要按着以下的步骤去做也应该可以实现成功编译内核及加载模块 ...
- Node.js项目中动态加载环境变量配置
NODE_MODULES:项目中动态加载环境变量配置 开始 在平时的 Node.js 项目开发中,我们需要在项目中添加各种各样的配置:服务端口.服务地址.图片上传.数据库.Redis 等等. 通常情况 ...
- java web配置dll文件_JavaWeb项目中dll文件动态加载方法解析(详细步骤)
相信很多做Java的朋友都有过用Java调用JNI实现调用C或C++方法的经历,那么Java Web中又如何实现DLL/SO文件的动态加载方法呢.今天就给大家带来一篇JAVA Web项目中DLL/SO ...
- 在.Net framework中动态加载Assembly的loadFromRemoteSources配置
简介 在插件类型的应用开发中,我们可能会在程序中动态加载一个assembly文件,创建其中的类对象并使用. 这时,就涉及到了CAS(code access security)和信任沙盒. 一般,我们的 ...
- Spring 3.1 –从数据库加载XML配置的属性
Spring使通过其PropertyPlaceholderConfigurer和(Spring 3.1之前)PropertySourcesPlaceholderConfigurer(Spring 3. ...
最新文章
- linux下g编译文件或目录,【转】在linux下使用gcc/g++编译多个.h文件
- linux iscsi 服务端,Linux的iscsi磁盘服务
- 信息学奥赛一本通 2068:【例2.6】鸡兔同笼
- Eigen 简明教程之如何从Python转到Eigen
- Kraft 0.50 发布,小型文档管理程序
- php高效获取数据分页
- win7计算机地址栏在那,win7系统如何使用地址栏功能|win7系统使用地址栏的方法...
- 代码修改及模型复查 12-6
- my sql实验视图_数据库SQL 视图的创建及使用实验报告(共5篇)
- esp8266开发入门教程(基于Arduino)——点亮LED灯
- 工作流:设置工作共享项目
- java affinity_sched_setaffinity()如何工作?
- 方正飞鸿:构建中小企业“两化融合”新模式
- 如何修复iPhone、iPad 或 Mac 上的 AirDrop 连接问题?
- shio世硕AI智慧指读学习机加入智能教育硬件新战场【无标题】
- PPT中含图片太大,需压缩
- java全文检索word中的内容_搜索引擎时对WORD,EXCEL,PDF,POWERPOINT文件全文检索的总结...
- 造成503 service unavailable常见的原因以及解决方法
- 安卓开发———打开相机拍照或者打开相册选择照片并显示出来
- 日语中那些表示复数概念的表达方式
热门文章
- Chapter7-11_Deep Learning for Question Answering (2/2)
- LeetCode 1717. 删除子字符串的最大得分
- LeetCode 996. 正方形数组的数目(回溯+剪枝)
- LeetCode 69. x 的平方根(二分查找)
- LeetCode 1008. 先序遍历构造二叉树(已知先序,求二叉搜索树)
- RDD持久化、广播、累加器
- 小小算法题(CCF)
- 解决mysql导数据时,格式不对、导入慢、丢数据的问题
- AllenAI | 用GPT-3帮助增建数据,NLI任务直接提升十个点!?
- 中科院博士整理的机器学习算法知识手册,完整 PDF 开放下载!