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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jpa mysql存储过程_(原)springbootjpa调用服务器mysql数据库的存储过程方法-Go语言中文社区...

發(fā)布時(shí)間:2024/7/23 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jpa mysql存储过程_(原)springbootjpa调用服务器mysql数据库的存储过程方法-Go语言中文社区... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、springboot jpa項(xiàng)目文件配置

#----------------------------------------------------------

########################################################

###datasource 配置MYSQL數(shù)據(jù)源;

########################################################

## 數(shù)據(jù)庫

spring.jpa.database = MYSQL

spring.jpa.show-sql = true

spring.datasource.url=jdbc:mysql://IP:3306/vcoo_food?useUnicode=true&characterEncoding=UTF-8

spring.datasource.username=root

#spring.datasource.password=root

spring.datasource.password=123456

########################################################

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.tomcat.max-active=100

spring.datasource.tomcat.max-idle=200

spring.datasource.tomcat.initialSize=20

# Hibernate ddl auto (create, create-drop, update)

spring.jpa.properties.hibernate.hbm2ddl.auto=update

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect

#這個(gè)東西建議有,不知道為什么,放他之后,請求數(shù)據(jù)庫的一些問題自動(dòng)就沒了

spring.cache.ehcache.config=classpath:ehcache.xml

ehcache.xml

xsi:noNamespaceSchemaLocation="ehcache.xsd">

二、java代碼配置

entity.java

@Entity

@Table(name = "prod_sale_master") //表名

@Component

/***********配置存儲(chǔ)過程地方***************************/

@NamedStoredProcedureQueries({//一個(gè)實(shí)體類涉及多個(gè)存儲(chǔ)過程時(shí),注意配置的格式@***({})

@NamedStoredProcedureQuery(//配置單個(gè)存儲(chǔ)過程

name="p_prod_sale_make" ,//springboot jpa 調(diào)用的名字

procedureName = "p_prod_sale_make" ,//mysql調(diào)用存儲(chǔ)過程的名字

parameters = {//要傳的參數(shù)

//in表示傳入 out表示傳出或者說是返回值

//name表示存儲(chǔ)過程要用的參數(shù)名稱

//type表示要傳入?yún)?shù)的類型

@StoredProcedureParameter(mode=ParameterMode.IN,name="v_rec_emp",type=String.class),

@StoredProcedureParameter(mode=ParameterMode.IN,name="v_mem_card",type=String.class),

@StoredProcedureParameter(mode=ParameterMode.IN,name="v_Room_Code",type=String.class),

@StoredProcedureParameter(mode=ParameterMode.IN,name="v_Mem_Cnt",type=Integer.class),

@StoredProcedureParameter(mode=ParameterMode.OUT,name="v_Err_Msg",type=String.class)

}),

@NamedStoredProcedureQuery(name="p_chg_room" ,procedureName = "p_chg_room" , parameters = {

@StoredProcedureParameter(mode=ParameterMode.IN,name="v_Bill_Code",type=String.class),

@StoredProcedureParameter(mode=ParameterMode.IN,name="v_Room_Code",type=String.class),

@StoredProcedureParameter(mode=ParameterMode.OUT,name="v_Err_Msg",type=String.class)

})

})

})

/*****************************************/

public class ProdSaleMaster {//實(shí)體名

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name="rec_id")//建議個(gè)數(shù)據(jù)庫的名字一樣 全部對應(yīng) 無論大小寫

private Integer rec_id;//序號

@Column(name="bill_code")

/set()/get()

}

serviceImpl.java

@Autowired

private EntityManager entityManager;

@Override

public Object saveProdSaleMaster(String v_rec_emp, String v_mem_card, String v_Room_Code, int v_Mem_Cnt) {

Result resultLogin = new Result();

try {

/**************存儲(chǔ)過程使用配置地方***********************************************/

//StoredProcedureQuery 創(chuàng)建存儲(chǔ)過程倉庫

//createStoredProcedureQuery(name) - 》 name表示 springboot jpa配置的名稱:見entity.java的name

//registerStoredProcedureParameter表示存儲(chǔ)過程中注冊的參數(shù)

//ParameterMode 其中的in/out和entity.java中配置一樣

StoredProcedureQuery storedProcedureQuery = this.entityManager.createStoredProcedureQuery("p_prod_sale_make");

storedProcedureQuery.registerStoredProcedureParameter("v_rec_emp", String.class, ParameterMode.IN);

storedProcedureQuery.registerStoredProcedureParameter("v_mem_card", String.class, ParameterMode.IN);

storedProcedureQuery.registerStoredProcedureParameter("v_Room_Code", String.class, ParameterMode.IN);

storedProcedureQuery.registerStoredProcedureParameter("v_Mem_Cnt", Integer.class, ParameterMode.IN);

storedProcedureQuery.registerStoredProcedureParameter("v_Err_Msg", String.class, ParameterMode.OUT);

//setParameter 給存儲(chǔ)過程配置你要傳入的參數(shù)

storedProcedureQuery.setParameter("v_rec_emp",v_rec_emp);

storedProcedureQuery.setParameter("v_mem_card", v_mem_card);

storedProcedureQuery.setParameter("v_Room_Code",v_Room_Code);

storedProcedureQuery.setParameter("v_Mem_Cnt", (int) v_Mem_Cnt);

//存儲(chǔ)過程執(zhí)行調(diào)用

storedProcedureQuery.execute();

//getOutputParameterValue 存儲(chǔ)過程執(zhí)行后,返回的結(jié)果,直接取就可以,返回類型只有一個(gè)Object類型

Object v_User_Rht = storedProcedureQuery.getOutputParameterValue("v_Err_Msg");

/*****************************************************************/

return v_User_Rht;

} catch (Exception e) {

resultLogin.setStatus(0);

resultLogin.setData(null);

resultLogin.setMessage("請求失敗!");

e.printStackTrace();

return resultLogin;

}finally {

this.entityManager.close();

}

}

以上就是之間配置的所有代碼,然后就可以測試結(jié)果。

全部配置方法可參考百度:springboot jpa 配置mysql 請求存儲(chǔ)過程方法 即可查詢到

轉(zhuǎn)載聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載

如果我的文章有幫助到您,歡迎打賞一下鼓勵(lì)博主。

總結(jié)

以上是生活随笔為你收集整理的jpa mysql存储过程_(原)springbootjpa调用服务器mysql数据库的存储过程方法-Go语言中文社区...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。