当前位置:首页 » 操作系统 » hibernate两个数据库

hibernate两个数据库

发布时间: 2022-04-11 16:28:12

① hibernate映射文件怎样配置俩个以上数据源

<!--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:1433;databaseName=数据库名

</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将根据这些属性元素连接数据库。

② springmvc spring 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.">
<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>

③ hibernate可以跨数据库吗

首先来说,跨数据库肯定是可以的!
通常有两个方法,第一个是笨办法,就是在配置项里定义两个数据源,并且这两个数据源分属于两个SessionFaction对象。并且在代码中也有创建两个对象分别对应两个数据库,这样做比较麻烦,代码会很繁琐,并且执行效率不一定高。

第二个办法是使用spring开源框架里提供的动态数据源,通过动态的加载,将两个数据源信息加载到一个SessionnFacgtion对象中。方法一里面提到的缺点在这里都能够很好的解决。

大概步骤如下:
1.org.springframework.beans.factory.support.DefaultListableBeanF

actory获得bean工厂,可以添加销毁数据源;

2.org.springframework.beans.factory.support.BeanDefinitionBuilder动态创建bean,然后通过
DefaultListableBeanFactory.registerBeanDefinition(dsInfo.getId(), beanDefinitionBuilder.getBeanDefinition()); 注册数据源事务

3.销毁数据源
beanFactory.destroySingleton(tsId);
beanFactory.removeBeanDefinition(tsId);

④ 数据库表在两个数据库中,怎么进行hibernate映射呢

前提是你数据源配置正确.
映射文件中:
注意看class属性:
name是你的model类(包名+类名)
table是你数据库里的表名
catalog是你的数据库名
<hibernate-mapping>
<class name="com.cwx.model.Xsb" table="XSB" schema="dbo" catalog="XSCJ">
......
</class>
</hibernate-mapping>

⑤ hibernate连接两个不同的数据库,连接信息分别写在两个Spring配置文件里,该怎么读这两个Spring文件

在 applicationContext.xml里面加载 <import resource="applicationContext-sql.xml"/>
在applicationContext-sql.xml里面beans标记里面多写几个Bean,分别用SQL Server数据库和Oracle数据库的驱动加载进去啊!首先确定两个数据库驱动必须有哦!

⑥ 用hibernate+struts开发的,在操作两个数据库时,执行保存操作时报错,请高手指点下。

2011-04-15 09:15:44,265 [org.hibernate.util.JDBCExceptionReporter]-[WARN] SQL Error: 0, SQLState: null
这里不是错误信息吗?应该是你的SQL有问题吧? 建议你把你写的SQL先拿到数据库先执行下

⑦ Hibernate 怎样 连接2个以上的数据库

<class
name="entity.Person"
table="Person"
schema="dbo"
catalog="hibernate">
用catalog属性设置是那个数据库就可以拉

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

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

热点内容
捏泡胶解压 发布:2024-11-15 10:55:07 浏览:802
linux文件最后一行 发布:2024-11-15 10:44:11 浏览:612
怎么根据序列号查配置 发布:2024-11-15 10:31:52 浏览:348
mysql查看数据库位置 发布:2024-11-15 10:25:16 浏览:439
需要学Python 发布:2024-11-15 10:23:41 浏览:836
如何制作安卓平板软件 发布:2024-11-15 10:23:39 浏览:215
手机忘记密码被锁预示着什么 发布:2024-11-15 10:22:15 浏览:193
android图片管理 发布:2024-11-15 10:13:02 浏览:9
算法微调 发布:2024-11-15 10:07:44 浏览:542
python列表查询 发布:2024-11-15 10:06:08 浏览:133