Hibernate调用存储过程

一种使用Hibernate自身存储过程功能,一种绕过Hibernate,通过JDBC调用存储过程。

数据库bookshop中创建一个proc_users的存储过程,即在SQLyog中创建存储过程:create procedure proc_users()    select * from users;

1、使用HIbernate:

首先在持久化类Users的映射文件Users.hbm.xml中配置对存储过程的调用,相关配置如下:

<sql-query  name="getAllUsers" callable="true">

<return alias="u" class="com.hibtest2.entity.Users">

<return-property name="id" column="Id"></return-property>

<return-property name="loginName" column="LoginName"></return-property>

```

</return>

{call proc_users()}

</sql-query>

通过测试类执行命名查询实现对存储过程的调用:List  userList=session.getNameQuery("getAllUsers").list();


2、通过JDBC调用存储过程:

Sesssion session=HIbernateSessionFactory.getSession();

tx=session.beginTransaction();

session.doWork(

new Work(){

@Override

public void execute(Connection connection) throws SQLException{

CallableStatement cstat=connection.prepareCall("{call proc_users()}");

ResultSet rs=cstat.executeQuery();```````

}

}

);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值