kotlin使用spring data jpa(五)

本文介绍如何在数据库中创建存储过程以生成订单号,并通过实体类和EntityManager在Java中调用该存储过程。具体步骤包括定义存储过程、将存储过程与实体类关联以及使用EntityManager执行存储过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调用存储过程

首先定义一个存储过程,用来生成定单号


CREATE PROCEDURE [dbo].[usp_GenerationCardNo]
	@AutoGrowType tinyint,
	@NewCardNo varchar(20) OUT
AS
BEGIN
		Select @NewCardNo=‘1000001’
END

然后把存储过程挂到任意一个Entity上

@Entity
//可以随意挂到任一表上
@Table(name = "Order", schema = "dbo")
@NamedStoredProcedureQueries(NamedStoredProcedureQuery(
        name = "usp_GenerationCardNo",
		//存储过程名字
        procedureName = "usp_GenerationCardNo",
        parameters = [
		    //输入参数
            StoredProcedureParameter(
                    name = "@AutoGrowType",
                    mode = ParameterMode.IN,
                    type = Byte::class
            ),
			//输出参数
            StoredProcedureParameter(
                    name = "@NewCardNo",
                    mode = ParameterMode.OUT,
                    type = String::class
            )
        ]
))
class OrderEntity {}

使用EntityManager来调用存储过程

    //创建存储过程查询
      val procedureQuery =  entityManager.createNamedStoredProcedureQuery("usp_GenerationCardNo")
        //设置输入参数
        procedureQuery.setParameter("@AutoGrowType",4.toByte())
        procedureQuery.execute()
       //获取输出参数
        val orderId = procedureQuery.getOutputParameterValue("@NewCardNo")
        println(orderId)

转载于:https://my.oschina.net/weidedong/blog/2413846

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值