189 8069 5689

概括Hibernate访问多个数据库

Hibernate还是比较常用的,于是我研究了一下Hibernate访问多个数据库,在这里拿出来和大家分享一下,希望对大家有用。

Hibernate访问多个数据库的配置

根据以上所述,configure()方法默认是通过访问Hibernate.cfg.xml的<mapping>元素来加载我们提供的.hbm.xml文件。我们也可以直接指定hbm.xml文件,例如addClass()方法可以直接通过指定class来加载对应的映射文件,Hibernate会将提供的class的全名(包括package)自动转化为文件路径,还可以用addFile方法直接指定映射文件。例如:

 
 
 
  1. Configuration configurate = new Configuration().addClass(“Book.class”);
  2. Configuration configurate = new Configuration().addURL
    (Configuration.class.getResource ("/Book.hbm.xml"));
  3. Configuration config = new Configuration().addFile("/Cat.hbm.xml");

这样,如果用xml配置来配置多个数据库的话,那就写多个配置文件。这里假设对应两个数据库(一个是MySQL,一个是SQLServer),我们可以把其xml文件定义为“mysql.cfg.xml”和“sqlserver.cfg.xml”。则用Configuration类获取 SessionFactory的代码如下:

 
 
 
  1. SessionFactory mysqlFactory = new Configuration().configure
    ("/mysql.cfg.xml").buildSessionFactory(); 
  2. SessionFactory sqlserverFactory = new Configuration().configure
    ("sqlserver.cfg.xml ").buildSessionFactory(); 

如果你用spring,多数据库就更简单了,像这段代码可以完成所有配置:

 
 
 
  1.  
  2.  id="mysqlDS" class=
    "org.springframework.jdbc.datasource.DriverManagerDataSource"> 
  3.  name="url"> 
  4. jdbc:mysql://localhost:3306/test 
  5.  
  6.  name="driverClassName"> 
  7. org.gjt.mm.mysql.Driver 
  8.  
  9.  name="username"> 
  10. root 
  11.  
  12.  name="password"> 
  13. 123 
  14.  
  15.  
  16.  id="mysqlFactory" class=
    "org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
  17.  name="dataSource"> 
  18.  local="mysqlDS"/> 
  19.  
  20.  name="hibernateProperties"> 
  21.  
  22.  key="hibernate.dialect">org.hibernate.dialect.MySQLDialect 
  23.  
  24.  
  25.  name="mappingResources"> 
  26.  
  27. test.hbm.xml 
  28.  
  29.  
  30.  
  31.  id="sqlserverDS" class=
    "org.springframework.jdbc.datasource.DriverManagerDataSource"> 
  32.  name="url"> 
  33. jdbc:odbc:test 
  34.  
  35.  name="driverClassName"> 
  36. sun.jdbc.odbc.JdbcOdbcDriver 
  37.  
  38.  name="username"> 
  39. root 
  40.  
  41.  name="password"> 
  42. 123 
  43.  
  44.  
  45.  id="sqlserverFactory" class=
    "org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
  46.  name="dataSource"> 
  47.  local="sqlserverDS"/> 
  48.  
  49.  name="hibernateProperties"> 
  50.  
  51.  key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect 
  52.  
  53.  
  54.  name="mappingResources"> 
  55.  
  56. test.hbm.xml 
  57.  
  58.  
  59.  
  60. ....... 

以上只是配置Hibernate访问多个数据库的一般方法,Hibernate还有很多可行的配置,有兴趣的读者可以参考它的reference。


网页名称:概括Hibernate访问多个数据库
本文路径:http://cdxtjz.cn/article/cddigpj.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。