Hibernate调用存储过程

来源:互联网 发布:查错别字的软件 编辑:程序博客网 时间:2024/06/06 02:03

一种使用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();```````

}

}

);

0 0
原创粉丝点击