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

atitit.动态加载数据库配置in orm hibernate mybatis的更多相关文章

  1. Spring BeanPostProcessor与动态加载数据源配置

    前言: 本文旨在介绍Spring动态配置数据源的方式,即对一个DataSource的配置诸如jdbcUrl,user,password,driverClass都通过运行时指定,而非由xml静态配置定死 ...

  2. Extjs-树 Ext.tree.TreePanel 动态加载数据

    先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...

  3. [oldboy-django][1初始django]模态对话框 + 动态加载gif (多对多数据库表)

    ajax+对话框(多对多) - 遮罩层,动态加载gif层,对话框层, a.一点击添加,绑定事件: - 出现遮罩层和动态gif层 - ajax向后台发送请求获取所有班级数据 - success,隐藏动态 ...

  4. Ext JS 如何动态加载JavaScript创建窗体

    JavaScript不需要编译即可运行,这让JavaScript构建的应用程序可以变得很灵活.我们可以根据需要动态从服务器加载JavaScript脚本来创建和控制UI来与用户交互.下面结合Ext JS ...

  5. js的动态加载、缓存、更新以及复用(四)

    本来想一气呵成,把加载的过程都写了,但是卡着呢,所以只好在分成两份了. 1.页面里使用<script>来加载 boot.js . 2.然后在boot.js里面动态加载 bootLoad.j ...

  6. Winform开发框架之客户关系管理系统(CRM)的开发总结系列4-Tab控件页面的动态加载

    在前面介绍的几篇关于CRM系统的开发随笔中,里面都整合了多个页面的功能,包括多文档界面,以及客户相关信息的页面展示,这个模块就是利用DevExpress控件的XtraTabPage控件的动态加载实现的 ...

  7. Android之数据存储----使用LoaderManager异步加载数据库

    一.各种概念: 1.Loaders: 适用于Android3.0以及更高的版本,它提供了一套在UI的主线程中异步加载数据的框架.使用Loaders可以非常简单的在Activity或者Fragment中 ...

  8. 关于设置SQLPLUS提示符样式的方法----登陆配置文件,动态加载提示符

    工作中用到 sqlplus mdsoss/mdsoss, 所以来了解一下sqlplus (C shell .cshrc文件里中alisa) 关于设置SQLPLUS提示符样式的方法 12638阅读 1评 ...

  9. [改善Java代码]使用forName动态加载类文件

    动态加载(Dynamic Loading)是指在程序运行时加载需要的类库文件,对Java程序来说,一般情况下,一个类文件在启动时或首次初始化时会被加载到内存中,而反射则可以在运行时再决定是否需要加载一 ...

随机推荐

  1. scala 学习: case class

    case class: 1.定义为case class 的类在实例化时,可以不使用new 关键字. case class People(name:String, age:Int) val zhangs ...

  2. openssl API网络通信

    1.本文是在别人的基础上,经过测试,大体总结的.操作环境ubuntu12和ubuntu14 ****************************************************** ...

  3. Dynamic CRM2016在一台本地服务器安装部署

    在本地单独一台服务器上安装部署CRM2016时需要提前安装好CRM软件需要的必备软件,具体需要安装的组件如下截图:其中required为必须具备的安装组件.license可以采用微软官网的90天测试版 ...

  4. SAP 常用函数

    1. 访问本地 或别的服务器上文件 函数 CALL METHOD CL_GUI_FRONTEND_SERVICES=>EXECUTE       EXPORTING         DOCUME ...

  5. jqyery dataTable 基本用法

    一:官方网站:[http://www.datatables.net/] 二:基本使用:[http://www.guoxk.com/node/jquery-datatables] 1.DataTable ...

  6. Java Hotspot G1 GC的一些关键技术

    G1 GC,全称Garbage-First Garbage Collector,通过-XX:+UseG1GC参数来启用,作为体验版随着JDK 6u14版本面世,在JDK 7u4版本发行时被正式推出,相 ...

  7. ycsb-命令及参数-与生成的负载类型相关

    loadbin/ycsb load mydb -P workloads/workloada -p "mydb.host=127.0.0.1" -p "mydb.port= ...

  8. android4.3 Bluetooth(le)分析之startLeScan分析

    BluetoothAdapter.java中有low enery(le)的一些方法,android提供了这些方法,但源码中并未找到这些方法的调用之处.本文档主要分析这类方法的执行流程,来了解下le到底 ...

  9. LXC docker

    docker的原理和特点可以参照百度百科 http://baike.baidu.com/view/11854949.htm 昨天听到光照说docker技术实现, 既然可以轻量虚拟,是否可以多个虚拟出分 ...

  10. jsp_Scriptlet

    在jsp中,最重要的部分就是Scriptlet(脚本小程序),所有嵌入在HTML代码中的Java程序都必须在使用Scriptlet标记出来.在JSP中总共有3种Scriptlet代码 1.第一种:&l ...