hibernate数据库实现查询两个不同的数据库

hibernate数据库实现查询两个不同的数据库,第1张

配置两个数据源,将两个sessionfactory注入到不同的两个templete中,将两个templete模板再注入到两个dao中,一个dao调用模板的get方法取出A库中的学号,根据学号,另一dao调用get方法取出b库中的数据对象,然后 *** 作A数据库的dao调用sava或者savaorupdate插入到A库,主要配置好hibernate+spring整合的配置文件

<!-- DataSource -->

以MySQL数据库为例: <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">

<property name="driverClass" value="com.mysql.jdbc.Driver" />

<property name="jdbcUrl" value="jdbc:mysql://远程数据库的地址:端口号/数据库名" />

<property name="user" value="远程数据库的用户名" />

<property name="password" value="远程数据库的密码" />

<property name="maxPoolSize" value="100" />

<property name="minPoolSize" value="10" />

<property name="initialPoolSize" value="1" />

<property name="maxIdleTime" value="60" /><!--单位秒-->

</bean>说白了,就是取得远程数据库的地址、端口号、用户名、密码就可以了。与连接本机区别不大。

程序中hibernate怎样实现多个数据库多表互相联查

参考如下

例如:student表和score表需要做联合查询。

1)sql:

select

s.id,s.name,sc.score

from

student

as

s,score

as

sc

where

s.id

=

sc.userId

(字段都是用的数据库中字段名称)

2)HQL:

select

s.id,s.name,sc.score

from

Student

as

s,Score

as

sc

where

s.id

=

sc.userId

(上面字段都是

javabean的属性)

如果按1)查询的话,必须调用

session.createSQLQuery()方法

如果按2)查询,还是调用

session.createQuery()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9664983.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存