java 调用存储过程

Java后台获取存储过程out输出值的方法:

      String hql = "{Call D_VALID_PRICE_RANGE(?,?)}";

      Connection myConnect = SessionFactoryUtils.getDataSource(super.getSessionFactory()).getConnection();

 

      CallableStatement cStmt = myConnect.prepareCall(hql);

      cStmt.registerOutParameter(1, java.sql.Types.INTEGER);

      cStmt.registerOutParameter(2, java.sql.Types.VARCHAR);

      cStmt.execute();

      int a = cStmt.getInt(1);

      String ss = cStmt.getString(2);

      System.out.println(a);

       System.out.println(ss);

 

Java后台获取存储过程结果集的方法:

存储过程:

        BEGIN

declare stmt varchar(2000);

set @sql = concat('select * fromtt_dm_prod_offer');

prepare stmt from @sql;

execute stmt;

END

 

Java 方法:

          String hql = "{Call A_TEST_PROD()}";

          Connection myConnect = SessionFactoryUtils.getDataSource(super.getSessionFactory()).getConnection();

          CallableStatement cStmt = myConnect.prepareCall(hql);

          cStmt.execute();

          ResultSet rs1 = cStmt.getResultSet();

          while (rs1.next()) {

             System.out.println(rs1.getString("price_id") + ""+ rs1.getString("prod_code"));

          }

           rs1.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值