JPA如何调用ORACLE的存储过程
1个回答
2018-07-19 · 国内最优秀java资源共享平台
关注
展开全部
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:最主要就是各种名称保存一致。
<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:最主要就是各种名称保存一致。
网易云信
2023-12-06 广告
2023-12-06 广告
网易云信提供一站式的 1 对 1 UIKit 组件库,可以更快地搭建 1 对 1 社交平台,能够快速实现音视频呼叫、音视频通话、1对1消息发送、美颜和礼物功能,直接可以复用我们的组件源码就可以了。优势:1、全套1对1 UI组件,接入更快;2...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询