HibernateUtil类(可用于连接多个数据库)
Code: 我常用的HibernateUtil类,嘿嘿
- public final class HibernateUtil{
- private static SessionFactory sessionFactory;
- private HibernateUtil(){
- }
- //初始化
- static{
- Configuration cfg = new Configuration();
- cfg.configure();
- sessionFactory = cfg.buildSessionFactory();
- }
- public static SessionFactory getSessionFactory(){
- return sessionFactory;
- }
- public static Session getSession(){
- return sessionFactory.openSession();
- }
- }
上面是单数据库的HibernateUtil,Hibernate.cfg.xml文件默认在classpath下(src文件夹下)。
我自己写了个可以解析多个Hibernate.cfg.xml文件,访问多个数据库的HibernateUtil类(这就意味着你的项目可以使用多个数据库啊,不过对于多个数据库的事务管理我还不清楚,还是有点问题):
Code:
- import org.hibernate.Query;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.Configuration;
- public final class HbnUtil {// 根据hibernate.cfg.xml创建一个静态sessionFactory
- private static SessionFactory sf;
- private static SessionFactory MSsf;
- static {
- try {
- sf = new Configuration().configure("/hbn-sqlserver.cfg.xml")
- .buildSessionFactory();
- MSsf = new Configuration().configure("/hbn-mysql.cfg.xml")
- .buildSessionFactory();
- } catch (Exception e) {
- System.err.println("%%%% Error Creating SessionFactory %%%%");
- e.printStackTrace();
- }
- }
- public static SessionFactory getSessionFactory() {
- return sf;
- }
- public static Session getSession() {
- Session s = null;
- if (!sf.isClosed())
- s = sf.openSession();
- return s;
- }
- public static Session getSessionByDB(String DBName) {// 根据DBName判断
- Session s = null;
- if ("mysql".equals(DBName.toLowerCase())) {
- if (!MSsf.isClosed())
- s = MSsf.openSession();
- } else if ("sqlserver".equals(DBName.toLowerCase())) {
- if (!sf.isClosed())
- s = sf.openSession();
- } else {
- System.out.println("错误的 DBName!");
- }
- return s;
- }
- public static void closeSessionFactory() {
- if (!sf.isClosed()) {
- sf.close();
- }
- }
- public static void closeSessionFactoryByDB(String DBName) {
- if ("mysql".equals(DBName.toLowerCase())) {
- if (!MSsf.isClosed()) {
- MSsf.close();
- }
- } else if ("sqlserver".equals(DBName.toLowerCase())) {
- if (!sf.isClosed()) {
- sf.close();
- }
- } else {
- System.out.println("错误的 DBName!");
- }
- }
- }
HibernateUtil类(可用于连接多个数据库)相关推荐
- 用于连接PLC与数据库的定制解决方案
当涉及到可编程逻辑控制器(PLC)项目和PLC连接解决方案时,系统集成商通常会定制解决方案,毕竟定制解决方案是系统集成商的专长.许多项目应用如可追溯性.质量监控.生产指标监控或高速排序,都涉及将工厂车 ...
- mysql util_关于mysql数据库操作工具类MySQLUtils用于连接数据提交sql脚本及结果转为JSONArray等操作...
一.前言 关于实现mysql数据简单操作工具类MySQLUtils,用户密码连接数据库执行sql脚本ExecSQL.将查询结果转为com.alibaba.fastjson.JSONArray(fast ...
- C#连接达梦数据库基础功公共类
c#程序访问达梦数据库 1.准备数据库驱动 达梦数据库安装完成后路径一般为:C:\dmdbms 找到 C:\dmdbms\drivers\dotNet\DmProvider: 我选择为.net 4. ...
- python 使用pymssql连接sql server数据库
Python连接SQL Server数据库 - pymssql使用基础 ----原文地址:http://www.cnblogs.com/baiyangcao/p/pymssql_basic.html ...
- Android Studio 连接阿里云数据库【制作基于数据库的多人远程聊天APP】
Android Studio 连接阿里云数据库的简单方法[制作基于数据库的多人远程聊天APP] 首先购买好一个阿里云数据库RDS[我买了一年用了49元] 1.进入官网–>打开右上角的控制台 2. ...
- vs连接mysql建一个表并增删查改_VS连接SQL Server数据库,增删改查详细教程(C#代码)...
工具: 1.Visual Studio (我使用的是vs2013) 2.SQL Server (我使用的是sql server2008) 操作: 1.打开SQL Server,打开后会看到数据库的初 ...
- JDBC连接sql server数据库及其它
JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...
- jfinal怎么连接oracle,如何用Jfinal连接多个数据库
ActiveRecordPlugin可以支持多个数据库,多个语言,我们只需要添加多个ActiveRecordPlugin,分别配置即可. Jfinal连接多个数据库 1. 添加mssql-jdbc-7 ...
- Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作
Java 操作数据库 第一章:Java 代码四个类实现 ① 项目结构展示 ② 数据库连接类 ③ 数据库查询类 ④ 数据库更新类 ⑤ 数据库主类 第二章:查询和更新操作实例演示 ① 查询操作演示 ② 更 ...
最新文章
- Linux内核 题目,《Linux内核完全注释》部分习题答案
- JVM 垃圾回收机制和常见算法
- c 连接mysql后 怎么用_使用C语言连接mysql,并进行操作
- 汉字笔画动图怎么做_“快乐学写字”之五:新笔画及生字间架结构形象化解说(课文1—4)...
- 2021牛客暑期多校训练营3 I Kuriyama Mirai and Exclusive Or 差分 + 二进制分治
- 2020 q5l使用手册电子版_关于2020下半年自考本科毕业生论文预答辩题目查询的通知...
- Python关于中文字符前面的u(转载)
- Python获取numpy数组中最大的5个元素(保持原顺序)
- java读取xml路径问题_java 中读取xml 和绝对路径
- [转载] Python Web开发最难懂的WSGI协议,到底包含哪些内容? WSGI服务器种类和性能对比
- 严版快速排序Partion方法
- C# string转DateTime DateTime转string
- CorelDRAWX4的VBA插件开发(六)录制宏与调试
- linux内核声卡管理,linux下声卡驱动简介
- php网页象棋源码,JS小游戏之象棋暗棋源码详解_javascript技巧
- uniapp H5文件预览,PDF预览
- 如何利用快解析快速实现动态域名解析,内网穿透?
- 一般将来时语法课教案_初中英语语法课教案设计
- 数据可视化笔记1 数据可视化简介(简史、分类、功能、目标)
- long型和int型的区别
热门文章
- 优Tech分享|YouTube推荐系统算法梳理
- 基于知识图谱的推荐系统综述
- 【报告分享】女性自我保护手册,教你应对10种常见危险处境.pdf(附189页pdf下载链接)...
- 【报告分享】2019Q3短视频KOL红人季度深度分析.pdf
- 【岗位详情】腾讯广告机制策略算法工程师(北京)
- ​深度学习基础 | Seq2seq+Attention
- 简单代码大全_VBA爱好者请进:VBA代码宝概述
- bigdecimal比较大小的方法_【初中数学思维训练】第7题——比较大小的常用方法...
- Leetcode每日一题:168.excel-sheet-column-title(Excel表名称)
- Linux+屏蔽脚本,Linux之劫持rm命令实现安全删除和屏蔽删除/、/*脚本