扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容介绍了“Hibernate访问多个数据库的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联建站是一家专注网站建设、网络营销策划、小程序制作、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十年以来,已经为1000多家茶艺设计各业的企业公司提供互联网服务。现在,服务的1000多家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。
Hibernate还是比较常用的,于是我研究了一下Hibernate访问多个数据库,在这里拿出来和大家分享一下,希望对大家有用。
Hibernate访问多个数据库的配置
根据以上所述,configure()方法默认是通过访问Hibernate.cfg.xml的<mapping>元素来加载我们提供的.hbm.xml文件。我们也可以直接指定hbm.xml文件,例如addClass()方法可以直接通过指定class来加载对应的映射文件,Hibernate会将提供的class的全名(包括package)自动转化为文件路径,还可以用addFile方法直接指定映射文件。例如:
Configuration configurate = new Configuration().addClass(“Book.class”);
Configuration configurate = new Configuration().addURL
(Configuration.class.getResource ("/Book.hbm.xml"));Configuration config = new Configuration().addFile("/Cat.hbm.xml");
这样,如果用xml配置来配置多个数据库的话,那就写多个配置文件。这里假设对应两个数据库(一个是MySQL,一个是SQLServer),我们可以把其xml文件定义为“mysql.cfg.xml”和“sqlserver.cfg.xml”。则用Configuration类获取 SessionFactory的代码如下:
SessionFactory mysqlFactory = new Configuration().configure
("/mysql.cfg.xml").buildSessionFactory();SessionFactory sqlserverFactory = new Configuration().configure
("sqlserver.cfg.xml ").buildSessionFactory();
如果你用spring,多数据库就更简单了,像这段代码可以完成所有配置:
id="mysqlDS" class=
"org.springframework.jdbc.datasource.DriverManagerDataSource">
name="url">
jdbc:mysql://localhost:3306/test
name="driverClassName">
org.gjt.mm.mysql.Driver
name="username">
root
name="password">
123
id="mysqlFactory" class=
"org.springframework.orm.hibernate3.LocalSessionFactoryBean">
name="dataSource">
name="hibernateProperties">
key="hibernate.dialect">org.hibernate.dialect.MySQLDialect
name="mappingResources">
test.hbm.xml
id="sqlserverDS" class=
"org.springframework.jdbc.datasource.DriverManagerDataSource">
name="url">
jdbc:odbc:test
name="driverClassName">
sun.jdbc.odbc.JdbcOdbcDriver
name="username">
root
name="password">
123
id="sqlserverFactory" class=
"org.springframework.orm.hibernate3.LocalSessionFactoryBean">
name="dataSource">
name="hibernateProperties">
key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect
name="mappingResources">
test.hbm.xml
.......
以上只是配置Hibernate访问多个数据库的一般方法,Hibernate还有很多可行的配置,有兴趣的读者可以参考它的reference。
“Hibernate访问多个数据库的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流