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:最主要就是各种名称保存一致。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询