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

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

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

<!--SessionFactory配置-->

<session-factory>

指定数据库使用的SQL方言。尽管多数关系数据库都支持标准的SQL语言,但是笔者建议在此指定自己的SQL方言。

<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>

指定连接数据库用的驱动,对于不同的关系数据库,其驱动是不同的,需要根据实际情况修改。

<property name="connection.driver_class">

com.microsoft.jdbc.sqlserver.SQLServerDriver

</property>

指定连接数据库的路径,对于不同的关系数据库,其URL路径是不同的,需要根据实际情况修改。

<property name="connection.url">

jdbc:microsoft:sqlserver://127.0.0.1:1433databaseName=数据库名

</property>

指定连接数据库的用户名。

<property name="connection.username">用户名</property>

指定连接数据库的密码;如果密码为空,则在“密码”的位置不写任何字符。

<property name="connection.password">密码</property>

指定当程序运行时是否在控制台输出SQL语句。当show_sql属性为true时,表示在控制台输出SQL语句,默认为false。建议在调试程序时设为true,发布程序之前再改为false,因为输出SQL语句会影响程序的运行速度。

<property name="show_sql">true</property>

指定当程序运行时,是否按照标准格式在控制台上输出SQL语句。当format_sql属性为true时,表示按照标准格式在控制台上输出SQL语句,默认为false。建议在调试程序时设为true,发布程序之前再改为false。该属性只有当show_sql属性为true时才有效。

<property name="format_sql">true</property>

指定当程序运行时,是否在SQL语句中输出便于调试的注释信息。当show_sql属性为true时,表示输出注释信息,默认为false。建议在调试程序时设为true,发布程序之前再改为false。该属性只有当show_sql属性为true时才有效。

<property name="use_sql_comments">true</property>

指定持久化类映射文件的位置,由包名与映射文件组成,包名与映射文件之间用“/”分隔。

<mapping resource="com/BranchForm.hbm.xml"/>

</session-factory>

</hibernate-configuration>

在上面的配置文件hibernate.cfg.xml中,包含了一系列的属性元素,Hibernate将根据这些属性元素连接数据库。

persistent.xml配置

<?xml version="1.0" encoding="UTF-8"?>

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">

<persistence-unit name="userPU" transaction-type="RESOURCE_LOCAL">

<!--jpa的提供者-->

<provider>org.hibernate.ejb.HibernatePersistence</provider>

<properties>

<!--声明数据库连接的驱动-->

<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>

<!--jdbc数据库的连接地址-->

<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/manager?characterEncoding=gbk"/>

<property name="hibernate.connection.username" value="root"/>

<property name="hibernate.connection.password" value="123456"/>

<!--配置方言-->

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>

<!--激活查询日志功能-->

<property name="hibernate.show_sql" value="true"/>

<!--优雅地输出Sql-->

<property name="hibernate.format_sql" value="true"/>

<!--添加一条解释型标注-->

<property name="hibernate.use_sql_comments" value="false"/>

<!--配置如何根据java模型生成数据库表结构,常用update,validate-->

<property name="hibernate.hbm2ddl.auto" value="update"/>

</properties>

</persistence-unit>

</persistence>

applicationContext.xml配置

<!--第二步-->

<!--定义实体的工厂bean-->

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

<property name="persistenceUnitName" value="userPU" />

<property name="persistenceXmlLocation" value="classpath:persistence.xml"></property>

</bean>

<!--第三步-->

<!--定义事务管理器-->

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">

<property name="entityManagerFactory" ref="entityManagerFactory"/>

</bean>


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

原文地址: http://outofmemory.cn/sjk/9646976.html

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

发表评论

登录后才能评论

评论列表(0条)

保存