- 浏览: 656858 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
最近看了hibernate3.2支持在hbm.xml文件通过<sql-query> 配置就可以进行存储过程的调用,于是便做了相关的实验
-- Create table
create table T_TEST
(
ID NUMBER not null,
NAME VARCHAR2(30),
SEX VARCHAR2(30),
AGE NUMBER
)
而后是hbm.xml文件
<?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="test.Test" table="t_test" schema="HBM">
<id name="id" column="id" type="int">
<generator class="assigned"/>
</id>
<property name="name" column="name" type="string"></property>
<property name="age" column="age" type="integer"></property>
<property name="sex" column="sex" type="string"></property>
</class>
<sql-query name="getTestList" callable="true"> <!-- function -->
<return alias="Test" class="test.Test">
<return-property name="id" column="id"></return-property>
<return-property name="name" column="name"></return-property>
<return-property name="age" column="age"></return-property>
<return-property name="sex" column="sex"></return-property>
</return>
{? = call getTestList(?)} --这个是函数的调用
</sql-query>
<sql-query name="cjjtlg" callable="true"> <!-- procedure -->
<return alias="TTest" class="test.Test">
<return-property name="id" column="id"></return-property>
<return-property name="name" column="name"></return-property>
<return-property name="age" column="age"></return-property>
<return-property name="sex" column="sex"></return-property>
</return>
{call cjjtlg(?,?) }-
-存储过程的调用
,这里如果写成帮助文档里面{?=call cjjtlg(?,?) }
那必然是报告错误。
</sql-query>
<sql-query name="singleout" callable="true"> <!-- procedure -->
<return alias="TTest" class="test.Test">
<return-property name="name" column="name"></return-property>
</return>
{call singleout(?,?) }--带输出参数的调用
</sql-query>
</hibernate-mapping>
Session session = HibernateSessionFactory.getSession();
Query query = session.getNamedQuery("cjjtlg");
query.setInteger(0, 1);
List<Test> list = query.list();
for (int i = 0; i < list.size(); i++) {
final Test t = list.get(i);
System.err.println("id:" + t.getId() + ", name:" + t.getName()
+ ", age:" + t.getAge() + ", sex:" + t.getSex());
}
System.err.println("count :" + list.size());
System.err.println("----------finish----------\n");
对于存储过程的调用对于内嵌sql-query 这里面的,那么存储过程第一个参数必须是一个结果结,且必须是一个输出参数
那么才可以使用,特别注意到时候在进行query设置的时候参数忽略第一个参数,序列号从0开始,好比query.setInteger(0, 1);如此
存储过程如下
create or replace procedure cjjtlg(st_cursor out SYS_REFCURSOR,rowsid integer) is
begin
open st_cursor for select * from t_test t where t.id=rowsid;
end cjjtlg;
query.setInteger(0, 1); 这个设置代表rowsid 这个参数是1,这点特别要注意。
如果很多读者要返回单个结果集,或者是执行某个存储过程想完成某个事项,返回参数不需要返回整个结果集,如果还想采用如此的方式进行,可以采用如下的方式来进行,只是在存储过程当中进行一些调整。
create or replace procedure singleout(st_cursor out SYS_REFCURSOR,rowsid integer) is
temp_a varchar2(100);
begin
--open st_cursor for select * from t_test t where t.id=rowsid;
select t.sex into temp_a from t_test t where t.id = rowsid;
open st_cursor for select temp_a as name,1 as id,1 as age,'man' as sex from dual;
end singleout;
这样的话,其他的调用方式跟上面一样的。
发表评论
-
hibernate Restrictions用法 MatchMode.ANYWHERE
2012-07-14 15:50 3945方法 说明 Res ... -
hibernate3 大批量更新/删除数据 (update/delete)
2011-11-10 12:15 1366Hibernate3.0 采用新的基 ... -
hibernate lazy(延迟加载)
2011-10-12 02:20 915hibernate lazy策略可以使用在: * < ... -
一些关于Hibernate延迟加载的误区
2011-09-12 23:13 887首先是第一个误区:延迟加载只能作用于关联实体 看到这个是 ... -
org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling
2011-08-12 19:17 1244Hi I am facing a problem wit ... -
Criteria Condition: Match Mode End
2011-07-02 11:05 982//////////////////////////// ... -
Criteria: Group By Criteria
2011-07-02 11:03 1332/////////////////////////////// ... -
Query Criteria Equal
2011-07-02 11:02 891/////////////////////////////// ... -
Criteria: Order
2011-07-02 10:59 767//////////////////////////// ... -
Criteria: Associations Sorting Criteria
2011-07-02 10:57 912//////////////////////////// ... -
hibernate的Query有没有setResultTransformer这个方法
2011-07-01 23:24 3083可以对原生SQL 查询使用ResultTransformer。 ... -
Hibernate中一级缓存、二级缓存及查询缓存的技术性总结
2011-06-21 17:31 1232一、 一级缓存 1. ... -
hibernate 保存 oracle 10g大数据字段
2011-06-14 04:01 1447Java代码 要点如下: ... -
Hibernate 错误原因总结
2011-06-14 00:10 14281、错误: object references an unsa ... -
MappingException提示Association references unmapped class错误的解决方法
2011-06-12 17:09 10出现如下错误信息时 Caused by: org.hibe ... -
Hibernate一对多关联映射的配置及其级联删除问题
2011-06-12 17:07 9首先举一个简单的一对多双向关联的配置: 一的一端:Quest ... -
Hibernate多对一关联映射原理、映射方法和数据的保存
2011-06-12 17:06 13Hibernate的多对一关联映射实现的基本原理就是: 在多 ... -
Hibernate一对多单向关联和双向关联映射方法及其优缺点
2011-06-12 17:05 11一对多关联映射和多对一关联映射实现的基本原理都是一样的,既是在 ... -
inverse = “true” example and explanation
2011-06-11 22:18 1119In Hibernate, only the “relatio ... -
ibatis和hibernate区别
2011-04-13 17:34 827ibatis:sql需要自己写 hibe ...
相关推荐
4.1.7还强化了对JPA 2.1规范的实现,包括JSON-B支持和对存储过程的增强调用。最重要的是,它引入了“黑盒”测试工具,帮助开发者更好地测试和调试Hibernate应用。 在这些版本中,每个都对性能、API的易用性和数据库...
【hibernate3.2+mysql+log4j】是一个经典的Java开发组合,常用于构建基于JDBC的持久层框架,结合关系型数据库MySQL和日志管理库log4j。这个压缩包可能包含了运行一个使用Hibernate 3.2、MySQL数据库和log4j日志系统...
在本"Hibernate3.2中文参考文档"中,我们将深入探讨该版本的核心特性和使用方法。 一、Hibernate概述 Hibernate是一个开源的ORM框架,它的主要功能是将Java对象模型与关系型数据库进行映射,实现了对象的持久化。在...
根据提供的信息,我们可以了解到这份文档是关于Hibernate 3.2版本的官方中文参考手册。Hibernate是一种广泛使用的Java持久层框架,它提供了对象关系映射(ORM)功能,使得开发人员可以更加高效、灵活地处理数据库...
标题“hibernate3.2_GET方法”指向的是关于Hibernate框架3.2版本中对象关系映射(ORM)工具的一个特定功能,即GET方法的使用。在Hibernate中,GET方法通常用于从数据库中检索持久化对象。这篇博客可能详细解释了如何...
Struts1.2、Hibernate3.2、Spring2.5...此外,还可能涵盖了如何解决这些框架在集成过程中可能出现的问题,比如配置问题、版本兼容性问题、性能优化等。这样的学习资源对于提升Java Web开发者的技能水平是非常有价值的。
而Hibernate 3.2作为持久层框架,主要用于数据的存储和读取。这种架构设计使得系统具有良好的层次性和扩展性。 #### 二、开发环境搭建 1. **开发工具**: MyEclipse 6.0 2. **服务器**: Tomcat 5.5 3. **编程语言**...
Struts2、Hibernate3.2、Spring2.0和SQL Server 2000是Java Web开发中的四个关键组件,它们构成了一个强大的企业级应用框架,通常被称为SSH2(Struts2、Spring2、Hibernate2)集成框架。下面将详细阐述这些技术以及...
### Hibernate 3.2 官方中文参考手册知识点解析 ...此外,对于查询优化、缓存机制以及高级特性等方面也有一定的覆盖,使得开发者能够在实际项目中更加灵活地运用 Hibernate 技术解决复杂的数据持久化问题。
在这个"Struts2+hibernate3.2的源代码"项目中,我们可以看到一个实际应用这两种技术的小型购书网站的实现。开发者通过这个练习来深化对Struts2和Hibernate的理解,同时也能帮助其他学习者更好地掌握这两个框架的结合...
Hibernate 3.2 版本引入了许多改进,如支持JPA(Java Persistence API)、性能优化和更丰富的查询API(HQL和Criteria)。它可以处理复杂的数据映射,包括一对多、多对一、一对一等关系,并提供了缓存机制以提高性能...
Hibernate 3.2及以上版本开始支持存储过程的调用,主要通过Session的createSQLQuery方法。 ```java SessionFactory sessionFactory = ...; // 获取SessionFactory Session session = sessionFactory.openSession();...
本项目提供了"hibernate3.2+struts1.2+spring2.5"的整合源码,旨在帮助开发者理解并实践这三者如何协同工作,实现一个完整的MVC(Model-View-Controller)架构的Web应用程序。 Hibernate是Java中的一个持久化框架,...
本文档详细介绍了如何将Struts2.0、Hibernate3.2与Spring2.0三个框架进行整合的过程及其原理。这种整合模式不仅提高了开发效率,还增强了项目的可维护性和扩展性。下面我们将通过具体的步骤来实现这一整合过程。 ##...
Hibernate 3.2 版本是 Hibernate 系列的一个重要里程碑,引入了许多改进和新特性,以提高性能和易用性。以下是对 Hibernate-3.2 源码包中的关键知识点的详细解释。 1. **对象关系映射(ORM)**:ORM 是 Hibernate ...
这是一个基于Java技术栈的投票系统实现,主要使用了Struts2.0作为MVC框架,Hibernate3.2作为持久层框架,Spring2.5作为应用上下文和依赖注入框架,以及SQL Server 2005作为后端数据库。此外,项目还引入了JFreeChart...
### Java SSH框架整合搭建Web系统(Struts1.2+Spring2.5+Hibernate3.2) #### 一、准备工作 在开始构建基于Struts1.2+Spring2.5+Hibernate3.2的Web应用之前,需要进行一系列的基础设置工作。 **1.1 创建工程** ...