jpa对存储过程的调用

原创 2016年05月31日 11:07:25

第一;直接查表(不带参)

mysql 存储过程:

mysql> delimiter
mysql> create procedure sp_show()
    -> begin
    -> select * from user;
    -> end;
Database changed


jpa调用:

@Test
 public void testprocedure()throws Exception {
 EntityManager em=this.getEmf().createEntityManager();

 
 Query query = em.createNativeQuery("{call sp_show()}",User.class);
 List<User> result=query.getResultList();
 for(int i=0;i<result.size();i++)
 {
  User user=result.get(i);
  System.out.print(user.getEmail());
 }
 em.close();
 }


2。带参的查询(单值)

存储过程:

mysql> delimiter
mysql> create procedure finby_id(IN Uid integer(11))
    -> begin
    -> select * from user where id=Uid;
    -> end;
Database changed


jpa调用:

@Test
 public void testprocedurefind()throws Exception {
 EntityManager em=this.getEmf().createEntityManager();

 
 Query query = em.createNativeQuery("{call finby_id(?)}",User.class);
 query.setParameter(1,30);
 User result=(User) query.getSingleResult();
 
  System.out.print(result.getEmail());
 em.close();
 }
 

3.带参查询之多值

存储过程:

mysql> delimiter
mysql> create procedure linktable(in Uid integer(11))
    -> begin
    -> select * from news where user_id=Uid;
    -> end;
Database changed


jpa调用:

@Test
 public void testprocedurefind()throws Exception {
 EntityManager em=this.getEmf().createEntityManager();

 
 Query query = em.createNativeQuery("{call finby_id(?)}",User.class);
 query.setParameter(1,30);
 User result=(User) query.getSingleResult();
 
  System.out.print(result.getEmail());
 em.close();
 
 }
 



 




相关文章推荐

Spring Data JPA调用存储过程实例

Spring Data JPA调用存储过程实例作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszsJPA连接到数据库,调用存储...
  • chszs
  • chszs
  • 2015年12月01日 12:20
  • 11709

Entity Bean (7):JPA调用存储过程[转]

  要调用存储过程,我们可以通过EntityManager对象的createNativeQuery()方法执行SQL 语句(注意:这里说的是SQL语句,不是HPQL), 调用存储过程的SQL格式如下:...
  • totogogo
  • totogogo
  • 2007年07月26日 01:13
  • 15255

JPA 调用存储过程

JPA 调用存储过程   要调用存储过程,我们可以通过EntityManager对象的createNativeQuery()方法执行SQL 语句(注意:这里说的是SQL语句,不是HPQ...

Spring Data JPA 直接调用存储过程的方法

@NamedNativeQueries( { @NamedNativeQuery( name = "Fi...
  • hikeboy
  • hikeboy
  • 2016年09月12日 15:59
  • 731

Java实现mysql存储过程调用

-------------------------------开篇基础简介--------: 存储过程通常有以下优点:[复习/更新/记忆/扩容/参考]--你的大脑有多大内存? (1).存储过程增强...
  • boonya
  • boonya
  • 2013年02月19日 19:42
  • 8757

EntityManager使用方法

原文地址:EntityManager使用方法作者:风神 EntityManager 转载 Session bean or MD bean对Entity bean的操作(包括所有的query, in...
  • fobdddf
  • fobdddf
  • 2014年02月19日 10:57
  • 55166

jpa里调用存储过程

本人要调用的存储过程有返回值,如下: create or replace procedure p_bakuplog(flag in out varchar2) is ----------------...

JPA使用详解及示例

JPA JAP开发文档

hql,ql,jpa支持的函数

方法说明 说明 类型 支持 使用方法 备注 ABS(n) 取绝对值数学函数 数学函数 JPAQL HQL ABS(column_na...

spring-data-jpa原理探秘(2)-RepositoryQuery的用途和分类

本系列的第二篇文章,主要讲解在spring-data-jpa中占有重要地位的RepositoryQuery接口的用途和分类。 首先我们看看RepositoryQuery接口极其子类的类图 上图...
  • gaolu
  • gaolu
  • 2016年12月29日 23:31
  • 1810
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jpa对存储过程的调用
举报原因:
原因补充:

(最多只允许输入30个字)