java 调用存储过程

来源:互联网 发布:剑灵可爱灵女捏脸数据 编辑:程序博客网 时间:2024/04/28 02:16

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();

0 0
原创粉丝点击