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

一、springboot jpa项目文件配置

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

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

###datasource 配置MYSQL数据源;

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

## 数据库

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

#这个东西建议有,不知道为什么,放他之后,请求数据库的一些问题自动就没了

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

ehcache.xml

xsi:noNamespaceSchemaLocation="ehcache.xsd">

bddc8cfefaacb51a3a9108303ad489ed.png

二、java代码配置

entity.java

@Entity

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

@Component

/***********配置存储过程地方***************************/

@NamedStoredProcedureQueries({//一个实体类涉及多个存储过程时,注意配置的格式@***({})

@NamedStoredProcedureQuery(//配置单个存储过程

name="p_prod_sale_make" ,//springboot jpa 调用的名字

procedureName = "p_prod_sale_make" ,//mysql调用存储过程的名字

parameters = {//要传的参数

//in表示传入 out表示传出或者说是返回值

//name表示存储过程要用的参数名称

//type表示要传入参数的类型

@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 {//实体名

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name="rec_id")//建议个数据库的名字一样 全部对应 无论大小写

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 {

/**************存储过程使用配置地方***********************************************/

//StoredProcedureQuery 创建存储过程仓库

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

//registerStoredProcedureParameter表示存储过程中注册的参数

//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 给存储过程配置你要传入的参数

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);

//存储过程执行调用

storedProcedureQuery.execute();

//getOutputParameterValue 存储过程执行后,返回的结果,直接取就可以,返回类型只有一个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();

}

}

以上就是之间配置的所有代码,然后就可以测试结果。

全部配置方法可参考百度:springboot jpa 配置mysql 请求存储过程方法 即可查询到

转载声明:本文为博主原创文章,未经博主允许不得转载

如果我的文章有帮助到您,欢迎打赏一下鼓励博主。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代软件工程系列 学生的精彩文章 (3) 如何在Bug 不断的情况下还能保持平常心...

from: http://teamkingofcsharp.spaces.live.com/blog/cns!59FC2D3DD66822AA!222.entry 感想 平常心 初中的数学老师常常和我说:“你要学会保持一颗平常心”。我是一个不那么豁达开朗的人,对很多事情都会很看重,GPA,排名&#x…

现代软件工程系列 学生读后感 梦断代码

from:http://ttcs.spaces.live.com/blog/cns!C3759CC6FCEEBDD7!121.entry?sa147831050November 10梦断代码读后介绍 一,这本书讲了什么?软件是人们自以为最有把握,实则最难掌握的技术。作者罗森伯格对OSAF主持的Chandler项目进行长期调查&am…

java 中violate_Java中的Volatile关键字

Java的volatile关键字用于标记一个Java变量为“在主存中存储”。更确切的说,对volatile变量的读取会从计算机的主存中读取,而不是从CPU缓存中读取,对volatile变量的写入会写入到主存中,而不只是写入到CPU缓存。实际上,…

java 如何发提示_消息提醒-如何实现收到待办给QQ发送提醒?

一、前期准备一台windows服务器(用于运行QQ机器人)下载QQ机器人框架二、QQ机器人配置1、解压前面下载的机器人框架和httpapi2、打开解压后的 小栗子框架.exe3、在用户列表右击选择添加单个4、添加后右击点添加后的账号选择登录选中QQ5、点击应用中心>点击导入插件>选中前…

顶级程序员的心得 - Coders at Work

这篇博客经历了 CSDN 的历次改版后,格式已经坏了, 我重新写了一篇,重排了格式: 顶级程序员的心得 –– Coders at Work_SoftwareTeacher的专栏-CSDN博客顶级程序员的心得 –– Coders at Work我2009年读了 “Coders at Work”, …

敏捷软件开发宣言–Manifesto for Agile Software Development

敏捷开发, 谁不会呀, 不就是 没文档, 出活快, 用户说啥都能改? 下面是一个笑话, 王屋村的大牛说 - 我最近转手接了一个活, 完事能挣四五万, 我拿过图纸一看, 不就是盖一烟囱吗? 我们是敏捷 (Agile) 的团队,要文档作甚? 马上开始干活! 都快盖好了&am…

教师管理系统设计报告java_教师办公管理系统的设计与实现

随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。教师办公管理系统是一个教育…

顶级程序员的心得–Coders at Work

最新版本在这里: (2584条消息) 顶级程序员的心得 –– Coders at Work_SoftwareTeacher的专栏-CSDN博客https://blog.csdn.net/SoftwareTeacher/article/details/113489014

scrum–yesterday once more

在敏捷开发的 SCRUM 流程中, 一个基本要求就是团队中的成员在每日例会中介绍自己昨天的进度, 今天的计划, 和遇到的困难。 下面是《现代软件工程》课程上一个学生团队在2/18 和 2/19 这两天的报告。 粗粗看去, 不禁有 “昨日重来” 的感觉。 一些同学的任务在2/18 报告的 yest…

java 类加载生命周期_Java类的加载与生命周期

一、概要:类的生命周期从类的 加载、连接、初始化 开始,到类的 卸载结束;二、几个阶段:加载:查找并加载类的二进制数据。(把类的.class文件的二进制数据读入内存,存放在运行时数据区的方法区;类…

软件工程 动物世界

在一个神奇的国度里生活着许多动物, 其中有猪, 鸡, 和鹦鹉。 它们每天搞头脑风暴, 琢磨如何创业, 最后鹦鹉提议它们合伙开一个早餐店: 具体分工如下: 猪: 提供猪肉, 做熏猪肉 (bacon) 鸡: 提供鸡蛋, 做煎蛋 鹦鹉: 提供咨询, 它会每天阅读大量博客, 给其他团队成员提供建议, 例…

java filterinputstream_java.io.FilterInputStream.close()

全屏java.io.FilterInputStream.close()方法关闭此输入流并释放与该流关联的所有系统资源。声明以下是public void close() 方法的声明:public void close()参数NA返回值该方法不返回任何值。异常IOException -- 如果发生I/ O错误。例子下面的例子显示了public void…

软件工程 敏捷的酒后问答

来源:《构建之法》 王屋村移山公司的程序员果冻最近请假参加了一系列敏捷的培训, 有好事者传言他和 “a-girl”勾搭上了, 其他年轻同事有点坐不住了, 也表示要参加此类活动。 几天后, 果冻回到公司, 给所有人发了一枚写有 “Agile” 的胸章。 他纠正大家的发音, 这个…

现代软件工程 怎么教好课 (读书笔记)

0. 教师教学有培训和参考书么? 我从来没想到过我会在大学里教书, 而且还教了好几年, 好几个学校。 当时接到任务的时候, 我把它当作实习生培训和新员工培训的”学院版”, 还是继续强调实践, 反馈, 合作, 就这么开讲了。 在微软公司, 做大部分和人相关的事情, 都得先有一个培训…

php oci 11g.dll下载,Oracle oci.dll

Oracle oci.dll是在32位PLSQL Developer软件访问Oracle 11g 64位数据库必须的系统dll文件,用于支持连接访问数据,如果系统出现相关dll文件缺失,就需重新下载,有需要的朋友快来巴士下载网下载吧!Oracle 11g oci.dll文件…

软件工程 案例分析作业

现代软件工程 构建之法 作业https://bbs.csdn.net/forums/SoftwareEngineering?typeId1723 软件工程作业 案例分析 (建议作为个人或结对作业) 很多同学有疑惑: 软件工程课是否就是枯燥的理论课? 或者是几个牛人拼命写代码,其他人抱大腿的…

php的数据模型包括,数据库中模型的分类有哪些

数据库中模型的分类:1、概念数据模型,面向用户、面向现实世界的数据模型,描述一个单位的概念化结构;2、逻辑数据模型,可以通过实体和关系勾勒出企业的数据蓝图;3、物理数据模型,具有以实物或画图…

php 万分之一几率,那万分之一的概率啊……

【今日】不要心存侥幸心理,那万分之一的概率啊……也许就是发生在自己身上。【正文】1老公抱着暖暖,大踏步的向前走去,兴奋的说:“我刚在群里问了一下,还没人回复,你说不会两家店全部装修吧?这万分之一的概…

JS常用事件大全

事件 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。 注意:事件名称大小写敏感。若是事件监听方式,则在事件名的前面取消on。 1. 鼠标事件 给btn按钮添加点击事件,点击弹出 你好! 2. 键盘事件…

php3绕过,PHPB2B注入#3(绕过过滤)

PHPB2B某处注入绕过过滤。官方最新版本. https://github.com/ulinke/phpb2b/archive/master.zip详细说明:1.注册企业会员。2.注册企业会员且通过审核。发布产品。漏洞文件。virtual-office/product.phpContent-Disposition: form-data; name"data[product][sor…