JPA如何调用ORACLE的存储过程

JPA如何调用ORACLE的存储过程,第1张

1、springboot依赖jpa

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

2、存储过程栗子如下

Procedure policy_no(a tb_bams_define.card_type_code%Type,

b Out tb_bms_detail.card_no%Type)

3、先创建一个entity

@Entity

@Table(name="Policy_table")

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

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

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

})

public class PolicyTable {}

a和b是存储过程中的入参和出参。存储过程的名字保持一致。

4、dao层

public interface PolicyDao extends CrudRepository<PolicyTable, Long>{

@Procedure(name="policy_no")

String createPolicy(@Param("a")String str)

}

5、调用简单

@Autowired

private PolicyDao policyDao

note:最主要就是各种名称保存一致。

需要一些前提条件:

1、对方的主机能被连接(如在同一局域网内)

2、需要知道对方数据库IP、端口号、服务名

3、需要知道对方提供的管理数据库的用户名及密码

连接方法:

1、在本地的oracle安装目录,找到tnsnames.ora文件,一般在~\oracle\product\10.2.0\db_1\network\ADMIN目录下,如图:

2、用文本打开tnsnames.ora文件,添加以下内容:

本地自定义实例名 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP或数据库主机名)(PORT = 数据库端口号))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = 数据库服务名)

    )

  )

3、保存文件即可。

4、打开第三方工具,如plsq,输入对方提供的用户名及密码,选择新建的数据库链接即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10712104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存