日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jpa mysql存储过程_spring data jpa 如何调用mysql存储过程?

發布時間:2024/9/27 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jpa mysql存储过程_spring data jpa 如何调用mysql存储过程? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

A:首先定義存儲過程依賴的jpa表:

@Entity

@Table(name="evenmngt_childthingtree_tmp")//數據庫中的表名

@NamedStoredProcedureQuery(name = "getChildTree1", procedureName = "eventmngt.getChildTree1",

parameters = {@StoredProcedureParameter(mode= ParameterMode.IN,name = "thingnums", type = String.class)}

)

//此處的@NamedStoredProcedureQuery就是要和數據庫里面的存儲過程要對應,

//java實體類??????? ??? ??? ??? ??? ??? ??? ??? ?數據庫

//getChildTree1(java實體類的存儲過程名稱)???? eventmngt.getChildTree1(數據庫名.存儲過程名稱)

//@StoredProcedureParameter 存儲過程參數類型注解(mode 參數模式[三種 in out? in+out],name 參數名稱:要和數據庫存儲過程定義的參數名稱相同

//type參數類型:參數類型的class對象)

public class ChildThingTree implements Serializable{

private static final long serialVersionUID = 1L;

@Id

@GeneratedValue(strategy=GenerationType.AUTO)

private int id;

@Column(name="parentthingnum")

private String parentThingNum;//父事情編號

@Column(name="thingnum")

private String thingNum;//事情編號

@Column(name="lev")

private int lev;//級別;

@Column(name="count")

private int count;//

...此處省略

get 或set 方法;

...重寫toString()方法此處省略

toString()方法

}

B定義持久層接口方法 調用存儲過程

@Repository

@Transactional

public interface ChildThingTreeDao extends CrudRepository,JpaRepository {

@Procedure(name = "getChildTree1")//此處的name 要和實體類里@NamedStoredProcedureQuery注解的name屬性值要一樣,否則會報錯。

public void getChildTree1(@Param("thingnums") String thingnums);

//(@Param注解里的名字要和@StoredProcedureParameter里的name屬性值一樣

}

C:在service層直接調用存儲過程

@Autowired

private ChildThingTreeDao childThingTreeDao;

childThingTreeDao.getChildTree1(param);

D: 至此存儲過程的調用就完了。

總結

以上是生活随笔為你收集整理的jpa mysql存储过程_spring data jpa 如何调用mysql存储过程?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。