查了些博客和书籍,下面把我的一些在这方面的认识总结一下:
首先存储过程在SQL-Server中我倒还是用过,至于Hibernate嘛,首先还是那种ORM思想
建立一个表,如create table tbl_user插入一些数据后
建立一个存储过程 create proc getStudentList
as
select * from Stu
以下是三种常见的方法过程
1.通过传入的参数创建用户的存储过程--createUser
DROP PROCEDURE IF EXISTS `createUser`;
CREATE PROCEDURE `createUser`(IN userid varchar(50), IN name varchar(50), IN blog varchar(50))
begin
insert into tbl_user values(userid, name, blog);
end;
2. 通过传入的参数更新用户信息的存储过程--updateUser
DROP PROCEDURE IF EXISTS `updateUser`;
CREATE PROCEDURE `updateUser`(IN nameValue varchar(50), IN blogValue varchar(50), IN useidValue varchar(50))
begin
update tbl_user set name = nameValue, blog = blogValue where userid = useridValue;
end;
3. 删除用户信息的存储过程--deleteUser
DROP PROCEDURE IF EXISTS `deleteUser`;
CREATE PROCEDURE `deleteUser`(IN useridValue int(11))
begin
delete from tbl_user where userid = useridValue;
private String userid;
这样表和存储过程建立完了,接下来建立关系映射文件Stu.hbm.xml文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.amigo.proc.model">
<class name="User" table="tbl_user">
<id name="userid" column="userid">
<generator class="assigned"/>
</id>
<property name="name" column="name" type="string" />
<property name="blog" column="blog" type="string" />
</class>
<sql-query name="getStudentList" callable="true">
<return alias="user" class="User">
<return-property name="userid" column="userid"/>
<return-property name="name" column="name"/>
<return-property name="blog" column="blog" />
</return>
{call getStudentList()}
</sql-query>
</hibernate-mapping>
在<sql-query>中{call getStudentList()}</sql-query>开始调用了存储过程
下面是测试类 更新的
private void testProcUpdate(Session session) throws Exception ...{
//更新用户信息
Transaction tx = session.beginTransaction();
Connection con = session.connection();
String procedure = "{call updateUser(?, ?, ?)}";
CallableStatement cstmt = con.prepareCall(procedure);
cstmt.setString(1, "陈xx");
cstmt.setString(2, "http://www.blogjava.net/sterningChen");
cstmt.setString(3, "sterning");
cstmt.executeUpdate();
tx.commit();
}
分享到:
相关推荐
Spring.NET MVC 和 Hibernate 是两个流行的开源框架,它们在 .NET 开发中被广泛用于构建企业级应用程序。Spring.NET 提供了依赖注入(DI)和面向切面编程(AOP)的功能,而 Hibernate 则是针对 .NET 的一个强大的...
Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在Java应用程序中处理数据库操作,而无需直接编写SQL语句。在这个“Hibernate例题源码!”压缩包中,我们很可能会找到一些关于如何使用Hibernate...
HIBERNATE第三章 最后一章了
Hibernate-validator是Java世界中一个强大的验证框架,它在JSR-303规范的基础上提供了丰富的注解和灵活的验证逻辑,使得开发者能够轻松地对输入数据进行验证。本文将深入探讨Hibernate-validator的核心功能、工作...
在Java的持久化框架Hibernate中,级联操作(Cascade)和反转(Inverse)是两个重要的概念,它们主要用于管理对象关系模型中的关联关系。在一对多的关系中,这些特性可以帮助简化数据操作,提高代码的可读性和维护性...
这个集成开发环境所需的jar包集合,为开发者提供了一个完整的运行环境,可以方便地进行MVC(Model-View-Controller)模式的Web应用开发。 Struts2是Apache软件基金会的一个开源项目,作为MVC框架,它负责处理HTTP...
Struts和Hibernate是Java开发中两个非常重要的框架,它们在构建Web应用程序时起着关键作用。Struts是一种基于MVC(Model-View-Controller)设计模式的开源框架,主要用于控制应用程序的流程,而Hibernate则是一个...
博文链接:https://balaschen.iteye.com/blog/155127
《Spring Struts Hibernate中文参考手册》是一套针对Java Web开发人员的重要参考资料,...这三份文档的详细阅读和实践将为Java Web开发者打下坚实的基础,有助于他们解决开发过程中遇到的各种问题,并提升技术水平。
在开发过程中,使用这个“hibernate jar包”可以快速搭建Hibernate环境,只需将这些jar文件添加到项目的类路径中,然后配置相应的Hibernate配置文件(如hibernate.cfg.xml),就可以开始使用Hibernate进行持久化操作...