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:[email protected]

转载请注明来源: 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

时间: 2024-10-20 15:59:01

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

ext combobox动态加载数据库数据

前台: var provinceStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: basePath + "/stationManage/station_getProvinceJSON.action" }), reader: new Ext.data.JsonReader( { root: "" }, ["PROVINCEID", "PROVINCENAME

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

前言: 本文旨在介绍Spring动态配置数据源的方式,即对一个DataSource的配置诸如jdbcUrl,user,password,driverClass都通过运行时指定,而非由xml静态配置. Spring构造Context的参数一般只包含配置文件路径和类加载器,如果需要达到动态传入配置参数的目的,需要Spring在初始化数据源相关bean的时候能够对原有配置执行修改或替换,为方便处理,本文将定义一个名为DynamicDataSourceConfigHolder的公共类提供配置数据存储.

MVC4中AJAX Html页面打开调用后台方法实现动态加载数据库中的数据

之前一直用window.onload方法来调用js方法来实现,今天纠结能不能换个方法实现. 很明显是可以的. 在html前台页面引用js代码如下 @Scripts.Render("~/Scripts/User/AddUser.js") 这就算引用了,看adduser.js代码如果调用后台方法 $(document).ready( function (){ $.ajax({ type: 'POST', url: "/EditUserPassWord/UserGroupQuery

zTree 从数据库中动态加载树形菜单

这几天做动态菜单用到了这个插件,目前用的很广泛的一个开源框架,最新发布的QUI框架就是用这个插件开发的菜单部分,因此还是很值得深入研究和学习,通过使用感觉功能很丰富,好多函数不用自己开发和编写,官网上有很详尽的API可以参考,用着算顺手但学习使用的过程中也遇到了一些困难,听过反复测试和查资料都理解了,但也在思考一个问题,怎么样才能使得最快的时间从接触一个新东西到灵活掌握的程度? 这个不仅仅是一个树形结构的菜单,每个节点左边可以有一个复选框,看了看也挺简单的,只需要在setting里面配置一个ch

ExtJS4.2 仅需配置URL动态加载GridPanel列(带分页)

最近做ExtJS一直想做个傻瓜式的GridPanel,今天折腾了一天,从GitHub找到的老外写的解决方案, 在他的基础上做了一些改动,增加了分页,增加了columns手动配置(原本只能动态生成),大家有兴趣可以自由扩展,我做了很详细的注释 效果图如下,仅需在html页面引入ext.all,并创建自定义控件,配置url即可创建带分页效果的GirdPanel 代码: 效果图: 一.动态加载自定义控件 自定义脚本包括两部分:DynamicGrid.js和DynamicReader.js 将Ext目录

36 SpringBoot 在系统配置文件中动态加载配置

1. 动态加载配置 package com.thc.rcm.system.config; import org.springframework.boot.SpringApplication; import org.springframework.boot.env.EnvironmentPostProcessor; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core

Mybatis学习(6)动态加载、一二级缓存

一.动态加载: resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能. 需求: 如果查询订单并且关联查询用户信息.如果先查询订单信息即可满足要求,当需要查询用户信息时再查询用户信息.把对用户信息的按需去查询就是延迟加载. 需要先说明下是按照这个sql的思路来实现延迟加载的: mysql> select orders.*, (select user.username from us

shiro不重启动态加载权限

最近一朋友让我帮他做一个后台权限管理的项目.我就在我原来的项目加加改改但是还是不理想,查了不少资料也走了不了弯路...... shiro基本的配置我就不多说了这个很简单自己查查资料就完成----下面是基本的配置不多说,如果这个静态的都不会配置那么就没必要继续往下看了,要稍微了解一点shiro的知识.另外要想动态加载权限的--思路就是重写ShiroFilterFactoryBean类中的setFilterChainDefinitions()方法 <bean id="myShiro"

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

一.各种概念: 1.Loaders: 适用于Android3.0以及更高的版本,它提供了一套在UI的主线程中异步加载数据的框架.使用Loaders可以非常简单的在Activity或者Fragment中异步加载数据,一般适用于大量的数据查询,或者需要经常修改并及时展示的数据显示到UI上,这样可以避免查询数据的时候,造成UI主线程的卡顿. 即使是查询SQLite数据库,用Loaders来操作会更加的简便. Loaders有以下特点: 可以适用于Activity和Fragment. 可以提供异步的方式