在JPA和JDBC中使用存储过程。 嗯,只要使用jOOQ
Java杂志的当前版本由Josh Juneau撰写了有关JDBC和JPA的大数据最佳实践的文章: http : //www.javamagazine.mozaicreader.com/MayJune2016
本文介绍了如何在JDBC中使用存储过程(不幸的是,请注意如何关闭资源。即使在Java Magazine的文章中,这也经常被遗忘)
// Using JDBC to call upon a database stored
// procedure
CallableStatement cs = null;
try {cs = conn.prepareCall("{call DUMMY_PROC(?,?)}");cs.setString(1, "This is a test");cs.registerOutParameter(2, Types.VARCHAR);cs.executeQuery();// Do something with resultString returnStr = cs.getString(2);
} catch (SQLException ex){ex.printStackTrace();
}
而使用JPA:
// Utilize JPA to call a database stored procedure
// Add @NamedStoredProcedureQuery to entity class
@NamedStoredProcedureQuery(name="createEmp", procedureName="CREATE_EMP",parameters = {@StoredProcedureParameter(mode= ParameterMode.IN,type=String.class,name="first"),@StoredProcedureParamter(mode = ParameterMode.IN,type=String.class,name="last")})// Calling upon stored procedure
StoredProcedureQuery qry =em.createStoredProcedureQuery("createEmp");
qry.setParameter("first", "JOSH");
qry.setParameter("last","JUNEAU");
qry.execute();
具体地说,最近在Vlad Mihalcea和Thorben Janssen的博客文章中也讨论了后者。
你喜欢冗长和复杂吗?
没有? 我们都没有。 这就是为什么我们给您第三个选择的原因:只需使用jOOQ。 这是等效的jOOQ代码:
// JDBC example:
String returnStr = Routines.dummyProc(config, "This is a test");// JPA example
Routines.createEmp(config, "JOSH", "JUNEAU");
是! 而已。 不要浪费时间用JDBC API调用或JPA 批注手动配置绑定变量。 没有人喜欢为存储过程编写注释。 使用jOOQ和jOOQ的代码生成器,过程调用为:
- 一线
- 轻而易举
- 一种将乐趣带回存储过程的方法
在此处了解有关将Oracle存储过程与嵌套集合和对象类型一起使用的更多信息: 通过jOOQ从Java到PL / SQL过程的无痛访问
翻译自: https://www.javacodegeeks.com/2016/06/using-stored-procedures-jpa-jdbc-meh-just-use-jooq.html
在JPA和JDBC中使用存储过程。 嗯,只要使用jOOQ相关推荐
- jpa 使用jdbc_在JPA和JDBC中使用存储过程。 嗯,只要使用jOOQ
jpa 使用jdbc Java杂志的当前版本由Josh Juneau撰写了有关JDBC和JPA的大数据最佳实践的文章: http : //www.javamagazine.mozaicreader.c ...
- 不是操作系统的是JAVA_在Jdbc中可以调用数据库的存储过程的接口是( )。
[多选题]下面属于AWT事件的高级事件的是(). [其它]1.1000字的故事梗概.是整个电视剧的总体梗概. 2.列出每条情节线的事件 3.核心人物的人物小传,每个人物500字 4.以Word附件的形 ...
- [转]JDBC中日期时间的处理技巧
Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...
- MyBatis中调用存储过程和函数
一.调用存储过程 1.首先在数据库中定义存储过程,定义的存储过程的代码如下: //定义存储过程create or replace procedure pag_add(p1 varchar2,p2 va ...
- java怎么调用存储函数_java中调用存储过程或存储函数的方法
java中调用存储过程或存储函数的方法 1.调用存储过程:CallableStatement clstmt = null;try {clstmt = conn.prepareCall("{c ...
- Java中调用Oracle中的存储过程的单元测试代码
Oracle中的存储过程: /* 创建一个存储函数,返回指定员工的姓名,薪水和年收入 */ create or replace function queryEmp2(eno in number, em ...
- SpringBoot—JPA和JDBC常用配置说明
关注微信公众号:CodingTechWork,一起学习进步. 本文主要介绍Spring Boot中使用JPA或JDBC进行数据库表结构创建的两种方式. 介绍 在利用SpringBoot框架进行 ...
- jdbc读取mysql时分秒yyyy-mm-dd hh:_[转]JDBC中日期时间的处理技巧
Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...
- java 执行oracle 存储过程_oracle--在java中调用存储过程和存储函数
在java中调用存储过程和存储函数 存储过程: 查询某个员工的姓名 月薪 职位: create or replace procedure queryempinfo(eno in number, pen ...
最新文章
- 透过国外初创公司看高精度地图难题
- 浙江大学-计算机中的数学(诙谐幽默的短视频)
- YbtOJ#912-神秘语言【结论,欧拉定理】
- 史上最强多线程面试44题和答案:线程锁+线程池+线程同步等
- 多线程环境下,HashMap为什么会出现死循环?
- 矩阵分解:奇异值分解(SVD)详解
- win11安装linux双系统
- 计算机视觉/图像处理领域相关研究机构梳理
- Linux debian利用ifconfig查看IP地址
- QQ抢车位助手(结尾)
- mysql standby_数据库的 standby模式
- 帝国cms配置php,帝国cms如何安装
- basename函数漏洞之[Zer0pts2020]Can you guess it?
- Python之组合数据类型(列表、元组、集合、字典)
- 让你快速掌握技巧,新手怎么做自媒体?分享6点干货知识
- 棋盘密码(Polybius)
- Linux下time/timestamp相关。
- 用户画像-User Profile
- Firefox配置阿里云DNS方法
- uniapp 做的一个房贷计算器
热门文章
- Java synchronized 中的while 和 notifyAll
- 漫画:什么是ZooKeeper
- java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized
- 用正则判断字符串是否为中文的方法
- 详细整理分层开发步骤!
- 日常技术分享 : 一定要注意replcaceAll方法,有时候会如你所不愿!
- ssm使用全注解实现增删改查案例——web.xml
- Oracle数据库基本概念理解(2)
- ./NISwGSP: error while loading shared libraries: libopencv_stitching.so.3.0: cannot open shared obje
- 最新开发android版本,Android版本检测升级