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相关推荐

  1. jpa 使用jdbc_在JPA和JDBC中使用存储过程。 嗯,只要使用jOOQ

    jpa 使用jdbc Java杂志的当前版本由Josh Juneau撰写了有关JDBC和JPA的大数据最佳实践的文章: http : //www.javamagazine.mozaicreader.c ...

  2. 不是操作系统的是JAVA_在Jdbc中可以调用数据库的存储过程的接口是( )。

    [多选题]下面属于AWT事件的高级事件的是(). [其它]1.1000字的故事梗概.是整个电视剧的总体梗概. 2.列出每条情节线的事件 3.核心人物的人物小传,每个人物500字 4.以Word附件的形 ...

  3. [转]JDBC中日期时间的处理技巧

    Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...

  4. MyBatis中调用存储过程和函数

    一.调用存储过程 1.首先在数据库中定义存储过程,定义的存储过程的代码如下: //定义存储过程create or replace procedure pag_add(p1 varchar2,p2 va ...

  5. java怎么调用存储函数_java中调用存储过程或存储函数的方法

    java中调用存储过程或存储函数的方法 1.调用存储过程:CallableStatement clstmt = null;try {clstmt = conn.prepareCall("{c ...

  6. Java中调用Oracle中的存储过程的单元测试代码

    Oracle中的存储过程: /* 创建一个存储函数,返回指定员工的姓名,薪水和年收入 */ create or replace function queryEmp2(eno in number, em ...

  7. SpringBoot—JPA和JDBC常用配置说明

    关注微信公众号:CodingTechWork,一起学习进步.   本文主要介绍Spring Boot中使用JPA或JDBC进行数据库表结构创建的两种方式. 介绍   在利用SpringBoot框架进行 ...

  8. jdbc读取mysql时分秒yyyy-mm-dd hh:_[转]JDBC中日期时间的处理技巧

    Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...

  9. java 执行oracle 存储过程_oracle--在java中调用存储过程和存储函数

    在java中调用存储过程和存储函数 存储过程: 查询某个员工的姓名 月薪 职位: create or replace procedure queryempinfo(eno in number, pen ...

最新文章

  1. 透过国外初创公司看高精度地图难题
  2. 浙江大学-计算机中的数学(诙谐幽默的短视频)
  3. YbtOJ#912-神秘语言【结论,欧拉定理】
  4. 史上最强多线程面试44题和答案:线程锁+线程池+线程同步等
  5. 多线程环境下,HashMap为什么会出现死循环?
  6. 矩阵分解:奇异值分解(SVD)详解
  7. win11安装linux双系统
  8. 计算机视觉/图像处理领域相关研究机构梳理
  9. Linux debian利用ifconfig查看IP地址
  10. QQ抢车位助手(结尾)
  11. mysql standby_数据库的 standby模式
  12. 帝国cms配置php,帝国cms如何安装
  13. basename函数漏洞之[Zer0pts2020]Can you guess it?
  14. Python之组合数据类型(列表、元组、集合、字典)
  15. 让你快速掌握技巧,新手怎么做自媒体?分享6点干货知识
  16. 棋盘密码(Polybius)
  17. Linux下time/timestamp相关。
  18. 用户画像-User Profile
  19. Firefox配置阿里云DNS方法
  20. uniapp 做的一个房贷计算器

热门文章

  1. Java synchronized 中的while 和 notifyAll
  2. 漫画:什么是ZooKeeper
  3. java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized
  4. 用正则判断字符串是否为中文的方法
  5. 详细整理分层开发步骤!
  6. 日常技术分享 : 一定要注意replcaceAll方法,有时候会如你所不愿!
  7. ssm使用全注解实现增删改查案例——web.xml
  8. Oracle数据库基本概念理解(2)
  9. ./NISwGSP: error while loading shared libraries: libopencv_stitching.so.3.0: cannot open shared obje
  10. 最新开发android版本,Android版本检测升级