`
liuwangxia
  • 浏览: 137876 次
  • 性别: Icon_minigender_1
  • 来自: 黄石
社区版块
存档分类
最新评论

在Hibernate中用PostgreSQL的COPY API

阅读更多
PostgreSQL有一个用于高速导入导出数据的COPY命令,使用JDBC可以调用,但是在Hibernate中调用要麻烦一些,这是Hibernate4.1下用c3p0连接池时的调用方法:


public CopyManager getCopyManager() throw Exception {
	final SessionImpl s = (SessionImpl)getSession();  //获取Hibernate Session 实例
	final Connection connection = s.getTransactionCoordinator().getJdbcCoordinator().getLogicalConnection().getConnection();
	final C3P0ProxyConnection con = (C3P0ProxyConnection)connection;
	final Method m = BaseConnection.class.getMethod("getCopyAPI", new Class[]{});
	final Object[] arg = new Object[] {};
	return (CopyManager) con.rawConnectionOperation(m, C3P0ProxyConnection.RAW_CONNECTION, arg);
}


在需要导入导出大量数据时,PostgreSQL的COPY命令速度很快,可以直接从流中导入和导出到流中,不象MySQL的类似命令LOAD DATA INFILESELECT ... INTO需要用中间文件。这两个MySQL论坛上的帖子分别是2005和2006年的:Using LOAD DATA INFILE with byte stream load data infile from STDIN,不知道现在解决了没有。
经测试,用COPY命令查询时间只有Hibernate HQL的一半,导入数据更快,不过要手写SQL代码自定义的流类型。
2
3
分享到:
评论

相关推荐

    Hibernate 中文api 等学习资料

    标题"Hibernate 中文api 等学习资料"暗示了这是一组针对Hibernate ORM框架的中文学习资源,包括API文档和其他指南,旨在帮助用户更好地理解和使用Hibernate。 描述中的"hibernate orm框架api中文文档,学习资料,...

    hibernate-junit4.0-postgresql-8.4-jdbc等jar包

    在给定的标题和描述中,我们关注的是如何使用Hibernate来连接PostgreSQL数据库,并且提到了一些关键的库文件,如hibernate-junit4.0、postgresql-8.4-jdbc等。 首先,让我们深入了解每个组件: 1. **Hibernate**:...

    postgresql8.2.3用户手册API

    《postgresql8.2.3用户手册API》是PostgreSQL数据库系统在8.2.3版本中的应用程序编程接口(API)的详细指南。这份手册对于开发者来说是宝贵的资源,它涵盖了如何利用API与PostgreSQL数据库进行交互的各种技术。下面...

    SpringBoot-Hibernate-Postgresql:Spring-Boot GeoData 应用程序

    SpringBoot-Hibernate-Postgresql Spring Boot 学习 为了学习和探索 Spring Boot,我构建了一个使用 Spring-Data-JPA、Hibernate、Postgresql 和地理数据构建的简单 Spring-Boot [REST] 应用程序。 该应用程序使用...

    用Python FastAPI与PostgreSQL进行增删改查操作

    在Python开发中,FastAPI是一个现代化、高性能的Web框架,常用于构建API。结合PostgreSQL这一流行的开源关系型数据库,可以构建稳定且高效的后端服务。本教程将介绍如何使用FastAPI与PostgreSQL进行基本的增删改查...

    PostgreSQL API & SQL API

    首先,PostgreSQL 7.3 API提供了丰富的函数和数据类型,允许开发者直接在C语言中与数据库进行交互。这些API包括了连接数据库、执行查询、处理结果集、事务控制等功能。例如,`PQconnectdb`用于建立数据库连接,`...

    postgreSQL copy

    总结,PostgreSQL的COPY命令是高效的数据导入导出工具,尤其在处理大量数据时,其速度远超传统的INSERT语句。理解和熟练掌握COPY命令的使用,能显著提升数据库管理的工作效率。同时,结合JDBC驱动,可以方便地在Java...

    hibernate-postgresql

    本指南将深入探讨如何在Java项目中有效地整合Hibernate与PostgreSQL,实现高效、稳定的数据存储和检索。 一、Hibernate简介 Hibernate是Java世界中的主流ORM框架,它允许开发者以面向对象的方式操作数据库,无需...

    postgresql-9.4API帮助

    ### PostgreSQL 9.4 API帮助知识点详解 #### 一、简介 PostgreSQL 9.4 是一款开源的对象关系型数据库系统,它具有强大的数据一致性处理能力和扩展性,能够支持复杂的应用场景。本文档旨在为用户提供关于 PostgreSQL...

    hibernate需要的10个jar

    在Hibernate中,它用于解析HQL和Criteria API查询。 6. **dom4j-1.6.1.jar**:这是一个XML处理库,Hibernate使用它来处理XML配置文件以及生成SQL语句。 7. **jandex.jar**:Jandex是一个Java元数据索引器,用于...

    postgresql-9.0-801.jdbc4-API文档-中文版.zip

    javadoc API文档文件:postgresql-9.0-801.jdbc4-javadoc.jar sources 源代码文件(若本来存在):postgresql-9.0-801.jdbc4-sources.jar 对应Maven信息: groupId:postgresql artifactId:postgresql version...

    Spring-Hibernate-PostgreSQL:Spring框架的基础知识和Hibernate简介介绍了什么是ORM框架以及如何开始编写简单的Hibernate应用程序

    Spring-Hibernate-PostgreSQL 该示例将使用Maven创建一个简单的Java项目结构,并演示如何在Spring框架中使用Hibernate进行PostgreSQL数据库中的数据操作(插入,选择,更新和删除)。测试应用程序: 在资源文件夹中...

    hibernate帮助手册和api集合(含英文中文版)

    Hibernate支持多种数据库,包括MySQL、Oracle、PostgreSQL等,且兼容JPA(Java Persistence API)标准。 二、Hibernate帮助手册 Hibernate的帮助手册提供了全面的框架指南,包括安装配置、对象关系映射、查询语言...

    多租户:Spring Boot + Hibernate + Postgresql的多租户实现Demo

    多租户(Multi Tenancy / Tenant)是一种软件架构,其定义是:在一台服务器上运行分区应用实例,它为多个租户提供服务。 概念是抽象的,但是理解起来并不困难,简单来说就是分组,举个例子:我们管理学校学生的时候...

    现代C ++中的PostgreSQL客户端API-C/C++开发

    C ++中PostgreSQL客户端API {#mainpage} Dmitigr Pgfe(PostGres FrontEnd,以下简称Pgfe)-是用C ++编写的PostgreSQL服务器的客户端API。 开发的重点在于使用的简便性和鲁棒性。 C ++中PostgreSQL客户端API {#...

    spring-boot-postgresql-jpa-hibernate-rest-api-demo:使用Spring Boot,PostgreSQL,JPA和Hibernate构建RESTful API

    Spring Boot,PostgreSQL,JPA,Hibernate REST API演示讲解在CalliCoder博客上查看完整的教程-设定步骤1.克隆存储库git clone ...

    postgresql-http-server:PostgreSQL HTTP API服务器

    PostgreSQL HTTP API服务器注意:该项目处于无限期搁置状态,并已由取代尝试在上实施类似建议的内容正在安装注意:需要node.js # npm install postgresql-http-server用法# postgresql-... --port ...

    postgresql-42.2.2-API文档-中文版.zip

    包含翻译后的API文档:postgresql-42.2.2-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.postgresql:postgresql:42.2.2; 标签:postgresql、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用...

    Go-从任何PostgreSQL数据库提供RESTfulAPI

    在"prest-prest-51b5ee8"这个文件中,可能包含了名为"Prest"的开源项目,该项目可能已经实现了上述功能,提供了一个快速搭建PostgreSQL RESTful API的解决方案。用户可以将其部署到自己的环境中,配置数据库连接信息...

    postgresql中文手册.zip

    1. **安装与配置**:了解如何在不同的操作系统上安装PostgreSQL,包括设置数据目录、初始化数据库集群、启动和停止服务,以及配置服务器参数以优化性能。 2. **SQL语法**:PostgreSQL支持标准SQL,包括数据定义语言...

Global site tag (gtag.js) - Google Analytics