`

hibernate完成特殊使命(多库查询)

阅读更多

今天开发遇到了链接多个库来进行查询,也就是查询多个库中的表然后从中获取所需数据那么我们的配置应该怎么写才能完成该改需求那请看

下面讲解:

  其实很简单道理和链接一个库去查询道理是一样的只不过配置略有不同

  例子:

  比如说在 jdbc:mysql://192.168.91.211:3306/wanbu?characterEncoding=gbk  改urlmysql服务下有两个库一个wanbu 一个ultrax

  你如果想查询wanbu库中的user表和cltar中的mesage表并且是要两表联查那么sql应该是这样的

  select  u.uname,m.title from wanbu.user u inner join ultrax.mesage m on u.uid=m.uid; 必须要加数据库名称去调用

那么要想在hql中用其实是一样的只不过要在对应表(不在默认库下的表)entity.hbm.xml 中加上catalog="ultrax   表所属的库名

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.dascom.Wanbuadmin.userManage.pojo.message" table="pre_wanbu_walk_mesage" catalog="ultrax">
        <id name="walkdataId" type="java.lang.Integer">
            <column name="walkdataID" />
            <generator class="native" />
        </id>

 这是告诉我们凡是于这张表有关的操作都会到该库下执行,其实到sql那边就是会自动给表加上库名在去调用。如果不写的话默认都会到你链接url时写的库中去找表并且操作,本例中自然会去wanbu这个库中找了,如果写上则就会去对应的库中找表了,脖子疼了,在写写使用该方法应注意且必须做到的事,  1. 要操作的多个库必须位于同一个mysql服务下也就是说必须在同一个url下 2。 url中的用户名和密码必须对这些个库都有操作权限。  如果不满足这两点那就不要用这种方法,可以用配置多个hibernate.cfg.xml 的方式来进行也就是说配置多个链接然后创建多个session 进行操作,麻烦死,希望你们能使用第一种方法。 再说一句就是hibernate多库查询的时候HQL不需要写库名了只写类名我们只需将catalog 配置好就行了。

分享到:
评论

相关推荐

    spring3+hibernate4+maven+junit 多库多数据源实现

    "Spring3+Hibernate4+Maven+JUnit 多库多数据源实现"是一个典型的Java Web项目配置,它涉及了多个核心技术来处理复杂的数据管理需求。下面将详细阐述这些技术以及如何协同工作以实现多库多数据源。 首先,Spring...

    计算机软件-商业源码-实例128-Paradox数据库的多库查询.zip

    这个压缩包文件“计算机软件-商业源码-实例128-Paradox数据库的多库查询.zip”显然是一个包含源代码的示例,用于演示如何实现对多个Paradox数据库的查询操作。下面我们将深入探讨Paradox数据库、多库查询以及可能...

    基于Oracle多库查询方法(分享)

    Oracle多库查询是一种在Oracle数据库系统中实现跨数据库数据访问的技术,这允许用户在一个数据库上执行查询,同时访问和操作另一个远程数据库中的数据。这种方法在数据整合、数据分析、分布式数据库系统以及多数据库...

    hibernate实现动态表查询的多种解决方案

    特别是在处理多表、多库等复杂场景时,如何实现动态表查询就显得尤为重要。本文将详细介绍几种常见的动态表查询方法,并给出具体的代码示例。 #### 二、核心概念与技术点 1. **命名策略(NamingStrategy)**:...

    mysql数据库全文多库多表查找,查询所有数据库中包含指定字符的数据。

    mysql数据库全文查找,查询所有数据库中包含指定字符的数据。 一、支持功能: 1、支持所有数据库查询字符串,或者指定一个或者多个数据库查询字符串; 2、支持本地使用或者指定远程数据库地址; 3、支持命令行指定...

    sqlserver 多库查询 sp_addlinkedserver使用方法(添加链接服务器)

    在SQL Server中,多库查询是一项重要功能,它允许用户跨多个数据库或甚至不同服务器的数据库执行查询。当需要从分布在不同服务器上的多个数据库中获取数据时,`sp_addlinkedserver` 存储过程就显得非常有用。这个...

    多库俄罗斯方块C#版本

    《多库俄罗斯方块C#版本》是一款基于C#编程语言实现的经典游戏——俄罗斯方块。C#是一种现代化、类型安全且面向对象的编程语言,由微软开发,广泛应用于Windows平台上的应用程序开发,包括游戏开发。这个项目展示了...

    hibernate4基本配置方式详解

    对于多库或多用户环境,Hibernate支持使用`catalog`和`schema`来解决命名冲突。它们在数据库系统中分别代表数据库和模式。根据实际情况,你可以使用数据库名作为`catalog`,用户名作为`schema`,或者自定义它们的值...

    金多库管软件

    金多库管软件 不打会用 专业人士玩去吧

    纯spring多库

    "纯spring多库"是一种解决方案,它利用Spring框架的灵活性和Atomikos这样的分布式事务管理器来实现跨数据库的事务一致性。以下是对这个主题的详细解释: 首先,Spring框架是Java开发中的一个核心工具,它提供了一个...

    金多库管王5000 v4.77.ZIP

    6. 支持一张单多仓库商品出入库,轻松操完成各种出入库业务。 7. 可由用户自由增加仓库,最大支持1-999个仓库的独立管理。 8. 软件提供全方位的入库订单、商品入库、商品退回;出库订单、商品出库、商品退回;仓库...

    多库多事务降低数据不一致概率

    ### 多库多事务降低数据不一致概率 #### 案例缘起 在实际的业务场景中,为了确保数据的正确性和完整性,通常会利用事务处理机制来保证数据库操作的ACID特性(原子性、一致性、隔离性、持久性)。以一个简单的订单...

    多库系统与数据集成技术

    介绍多库系统和数据库系统的概念、方法、理论

    spring mybatis atomikos 多库分布式事务demo

    在“DT”这个压缩包文件中,应该包含了完成上述配置和实现的代码示例,包括pom.xml文件、配置文件以及相关的Java代码。通过分析这些文件,开发者可以学习到如何在实际项目中实施Spring、MyBatis和Atomikos的集成,以...

    基于FreeSql多库分布式事务、跨库查询、跨库分页查询、跨库增删改等功能.zip

    基于FreeSql多库分布式事务、跨库查询、跨库分页查询、跨库增删改等功能

    hibernate 详细配置

    【hibernate 详细配置】是指在Java应用中配置Hibernate框架的过程,这涉及到一系列的属性设置,以便让Hibernate能够与特定的关系数据库进行有效交互并优化性能。以下是对这些配置属性的详细说明: **1. hibernate....

    C#开发基于FreeSql多库分布式事务、跨库查询、跨库分页查询、跨库增删改等功能实现源码+项目说明+sln.zip

    C#开发基于FreeSql多库分布式事务、跨库查询、跨库分页查询、跨库增删改等功能实现源码+项目说明+sln.zip **前言** 话说2021年开始了一个基于ASP.NET Core 微服务的项目,谈到微服务 多库环境下 分布式事务、分库...

    金多库管王5000

    6. 支持一张单多仓库商品出入库,轻松操完成各种出入库业务。 7. 可由用户自由增加仓库,最大支持1-999个仓库的独立管理。 8. 软件提供全方位的入库订单、商品入库、商品退回;出库订单、商品出库、商品退回;仓库...

    ssh2连接多库注解方式

    ### SSH2连接多库注解方式详解 在Java企业级应用开发中,SSH(Struts+Spring+Hibernate)架构是一种非常流行的开发模式。随着技术的发展,SSH2作为SSH的升级版,不仅支持更多的功能,同时也提供了更为灵活的配置...

Global site tag (gtag.js) - Google Analytics