• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. Java調(diào)用MySQL存儲過程并獲得返回值的方法

        時(shí)間:2024-08-25 16:32:40 JAVA認(rèn)證 我要投稿
        • 相關(guān)推薦

        Java調(diào)用MySQL存儲過程并獲得返回值的方法

          本文yjbys小編為大家主要介紹了Java調(diào)用MySQL存儲過程并獲得返回值的方法,實(shí)例分析了java實(shí)現(xiàn)MySQL存儲過程的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

          本文實(shí)例講述了Java調(diào)用MySQL存儲過程并獲得返回值的方法。分享給大家供大家參考。具體如下:

          private void empsInDept(Connection myConnect, int deptId) throws SQLException {

          CallableStatement cStmt = myConnect.prepareCall("{CALL sp_emps_in_dept(?)}");

          cStmt.setInt(1, deptId);

          cStmt.execute();

          ResultSet rs1 = cStmt.getResultSet();

          while (rs1.next()) {

          System.out.println(rs1.getString("department_name") + " " + rs1.getString("location"));

          }

          rs1.close();

          /* process second result set */

          if (cStmt.getMoreResults()) {

          ResultSet rs2 = cStmt.getResultSet();

          while (rs2.next()) {

          System.out.println(rs2.getInt(1) + " " + rs2.getString(2) + " " + rs2.getString(3));

          }

          rs2.close();

          }

          cStmt.close();

          }

          本文實(shí)例講述了java調(diào)用mysql存儲過程的方法。分享給大家供大家參考。具體如下:

          數(shù)據(jù)庫的測試代碼如下 :

          1、新建表test

          create table test(

          field1 int not null

          )

          TYPE=MyISAM ;

          insert into test(field1) values(1);

          2、刪除已存在的存儲過程:

          -- 刪除儲存過程

          delimiter // -- 定義結(jié)束符號

          drop procedure p_test;

          3、mysql存儲過程定義:

          create procedure p_test()

          begin

          declare temp int;

          set temp = 0;

          update test set field1 = values(temp);

          end

          4、調(diào)用方法:

          CallableStatement cStmt = conn.prepareCall("{call p_test()}");

          cStmt.executeUpdate();

          import java.sql.*;

          /**

          iGoder

          */

          public class ProcedureTest {

          /*

          表和存儲過程定義如下:

          delimiter //

          DROP TABLE if exists test //

          CREATE TABLE test(

          id int(11) NULL

          ) //

          drop procedure if existssp1 //

          create procedure sp1(in p int)

          comment 'insert into a int value'

          begin

          declare v1 int;

          set v1 = p;

          insert into test(id) values(v1);

          end

          //

          drop procedure if exists sp2 //

          create procedure sp2(out p int)

          begin

          select max(id) into p from test;

          end

          //

          drop procedure if exists sp6 //

          create procedure sp6()

          begin

          select * from test;

          end//

          */

          public static void main(String[] args) {

          //callIn(111);

          //callOut();

          callResult();

          }

          /**

          * 調(diào)用帶有輸入?yún)?shù)的存儲過程

          * @param in stored procedure input parametervalue

          */

          public static void callIn(int in){

          //獲取連接

          Connection conn = ConnectDb.getConnection();

          CallableStatement cs = null;

          try {

          //可以直接傳入?yún)?shù)

          //cs = conn.prepareCall("{call sp1(1)}");

          //也可以用問號代替

          cs = conn.prepareCall("{call sp1(?)}");

          //設(shè)置第一個(gè)輸入?yún)?shù)的值為110

          cs.setInt(1, in);

          cs.execute();

          } catch (Exception e) {

          e.printStackTrace();

          } finally {

          try {

          if(cs != null){

          cs.close();

          }

          if(conn != null){

          conn.close();

          }

          } catch (Exception ex) {

          ex.printStackTrace();

          }

          }

          }

          /**

          * 調(diào)用帶有輸出參數(shù)的存儲過程

          *

          */

          public static void callOut() {

          Connection conn = ConnectDb.getConnection();

          CallableStatement cs = null;

          try {

          cs = conn.prepareCall("{call sp2(?)}");

          //第一個(gè)參數(shù)的類型為Int

          cs.registerOutParameter(1, Types.INTEGER);

          cs.execute();

          //得到第一個(gè)值

          int i = cs.getInt(1);

          System.out.println(i);

          } catch (Exception e) {

          e.printStackTrace();

          } finally {

          try {

          if(cs != null){

          cs.close();

          }

          if(conn != null){

          conn.close();

          }

          } catch (Exception ex) {

          ex.printStackTrace();

          }

          }

          }

          /**

          * 調(diào)用輸出結(jié)果集的存儲過程

          */

          public static void callResult(){

          Connection conn = ConnectDb.getConnection();

          CallableStatement cs = null;

          ResultSet rs = null;

          try {

          cs = conn.prepareCall("{call sp6()}");

          rs = cs.executeQuery();

          //循環(huán)輸出結(jié)果

          while(rs.next()){

          System.out.println(rs.getString(1));

          }

          } catch (Exception e) {

          e.printStackTrace();

          } finally {

          try {

          if(rs != null){

          rs.close();

          }

          if(cs != null){

          cs.close();

          }

          if(conn != null){

          conn.close();

          }

          } catch (Exception ex) {

          ex.printStackTrace();

          }

          }

          }

          }

          /**

          *獲取數(shù)據(jù)庫連接的類

          */

          import java.sql.Connection;

          import java.sql.DriverManager;

          import java.sql.PreparedStatement;

          import java.sql.ResultSet;

          import java.sql.SQLException;

          import java.sql.Statement;

          class ConnectDb {

          public static Connection getConnection(){

          Connection conn = null;

          PreparedStatement preparedstatement = null;

          try {

          Class.forName("org.gjt.mm.mysql.Driver").newInstance();

          String dbname = "test";

          String url="jdbc:mysql://localhost/"+dbname+"?user=root&password=root&useUnicode=true&characterEncoding=8859_1";

          conn= DriverManager.getConnection(url);

          } catch (Exception e) {

          e.printStackTrace();

          }

          return conn;

          }

          }

          希望本文所述對大家的java程序設(shè)計(jì)有所幫助。

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【Java調(diào)用MySQL存儲過程并獲得返回值的方法】相關(guān)文章:

        Java怎么編寫Oracle存儲過程09-15

        java調(diào)用cmd命令01-29

        巧克力的存儲方法06-29

        java程序中如何調(diào)用linux命令08-27

        怎樣獲得Sun Java認(rèn)證05-08

        恩施玉露的選購與存儲方法08-17

        MySQL導(dǎo)出導(dǎo)入SQL文件命令方法10-17

        關(guān)于編程之PHP常用MySql操作的方法06-26

        JAVA認(rèn)證基礎(chǔ)知識:基于反射機(jī)制的服務(wù)代理調(diào)用09-20

        茉莉花茶的選購與存儲方法06-06

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲中文精品一区二区三区 | 在线观看免费AV永久免费 | 亚洲五月丁香中文字幕 | 亚洲狠狠婷婷综合久久久久 | 欧美啊v手机在线观看 | 久久亚洲国产精品亚洲老地址 |

            Java調(diào)用MySQL存儲過程并獲得返回值的方法

              本文yjbys小編為大家主要介紹了Java調(diào)用MySQL存儲過程并獲得返回值的方法,實(shí)例分析了java實(shí)現(xiàn)MySQL存儲過程的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

              本文實(shí)例講述了Java調(diào)用MySQL存儲過程并獲得返回值的方法。分享給大家供大家參考。具體如下:

              private void empsInDept(Connection myConnect, int deptId) throws SQLException {

              CallableStatement cStmt = myConnect.prepareCall("{CALL sp_emps_in_dept(?)}");

              cStmt.setInt(1, deptId);

              cStmt.execute();

              ResultSet rs1 = cStmt.getResultSet();

              while (rs1.next()) {

              System.out.println(rs1.getString("department_name") + " " + rs1.getString("location"));

              }

              rs1.close();

              /* process second result set */

              if (cStmt.getMoreResults()) {

              ResultSet rs2 = cStmt.getResultSet();

              while (rs2.next()) {

              System.out.println(rs2.getInt(1) + " " + rs2.getString(2) + " " + rs2.getString(3));

              }

              rs2.close();

              }

              cStmt.close();

              }

              本文實(shí)例講述了java調(diào)用mysql存儲過程的方法。分享給大家供大家參考。具體如下:

              數(shù)據(jù)庫的測試代碼如下 :

              1、新建表test

              create table test(

              field1 int not null

              )

              TYPE=MyISAM ;

              insert into test(field1) values(1);

              2、刪除已存在的存儲過程:

              -- 刪除儲存過程

              delimiter // -- 定義結(jié)束符號

              drop procedure p_test;

              3、mysql存儲過程定義:

              create procedure p_test()

              begin

              declare temp int;

              set temp = 0;

              update test set field1 = values(temp);

              end

              4、調(diào)用方法:

              CallableStatement cStmt = conn.prepareCall("{call p_test()}");

              cStmt.executeUpdate();

              import java.sql.*;

              /**

              iGoder

              */

              public class ProcedureTest {

              /*

              表和存儲過程定義如下:

              delimiter //

              DROP TABLE if exists test //

              CREATE TABLE test(

              id int(11) NULL

              ) //

              drop procedure if existssp1 //

              create procedure sp1(in p int)

              comment 'insert into a int value'

              begin

              declare v1 int;

              set v1 = p;

              insert into test(id) values(v1);

              end

              //

              drop procedure if exists sp2 //

              create procedure sp2(out p int)

              begin

              select max(id) into p from test;

              end

              //

              drop procedure if exists sp6 //

              create procedure sp6()

              begin

              select * from test;

              end//

              */

              public static void main(String[] args) {

              //callIn(111);

              //callOut();

              callResult();

              }

              /**

              * 調(diào)用帶有輸入?yún)?shù)的存儲過程

              * @param in stored procedure input parametervalue

              */

              public static void callIn(int in){

              //獲取連接

              Connection conn = ConnectDb.getConnection();

              CallableStatement cs = null;

              try {

              //可以直接傳入?yún)?shù)

              //cs = conn.prepareCall("{call sp1(1)}");

              //也可以用問號代替

              cs = conn.prepareCall("{call sp1(?)}");

              //設(shè)置第一個(gè)輸入?yún)?shù)的值為110

              cs.setInt(1, in);

              cs.execute();

              } catch (Exception e) {

              e.printStackTrace();

              } finally {

              try {

              if(cs != null){

              cs.close();

              }

              if(conn != null){

              conn.close();

              }

              } catch (Exception ex) {

              ex.printStackTrace();

              }

              }

              }

              /**

              * 調(diào)用帶有輸出參數(shù)的存儲過程

              *

              */

              public static void callOut() {

              Connection conn = ConnectDb.getConnection();

              CallableStatement cs = null;

              try {

              cs = conn.prepareCall("{call sp2(?)}");

              //第一個(gè)參數(shù)的類型為Int

              cs.registerOutParameter(1, Types.INTEGER);

              cs.execute();

              //得到第一個(gè)值

              int i = cs.getInt(1);

              System.out.println(i);

              } catch (Exception e) {

              e.printStackTrace();

              } finally {

              try {

              if(cs != null){

              cs.close();

              }

              if(conn != null){

              conn.close();

              }

              } catch (Exception ex) {

              ex.printStackTrace();

              }

              }

              }

              /**

              * 調(diào)用輸出結(jié)果集的存儲過程

              */

              public static void callResult(){

              Connection conn = ConnectDb.getConnection();

              CallableStatement cs = null;

              ResultSet rs = null;

              try {

              cs = conn.prepareCall("{call sp6()}");

              rs = cs.executeQuery();

              //循環(huán)輸出結(jié)果

              while(rs.next()){

              System.out.println(rs.getString(1));

              }

              } catch (Exception e) {

              e.printStackTrace();

              } finally {

              try {

              if(rs != null){

              rs.close();

              }

              if(cs != null){

              cs.close();

              }

              if(conn != null){

              conn.close();

              }

              } catch (Exception ex) {

              ex.printStackTrace();

              }

              }

              }

              }

              /**

              *獲取數(shù)據(jù)庫連接的類

              */

              import java.sql.Connection;

              import java.sql.DriverManager;

              import java.sql.PreparedStatement;

              import java.sql.ResultSet;

              import java.sql.SQLException;

              import java.sql.Statement;

              class ConnectDb {

              public static Connection getConnection(){

              Connection conn = null;

              PreparedStatement preparedstatement = null;

              try {

              Class.forName("org.gjt.mm.mysql.Driver").newInstance();

              String dbname = "test";

              String url="jdbc:mysql://localhost/"+dbname+"?user=root&password=root&useUnicode=true&characterEncoding=8859_1";

              conn= DriverManager.getConnection(url);

              } catch (Exception e) {

              e.printStackTrace();

              }

              return conn;

              }

              }

              希望本文所述對大家的java程序設(shè)計(jì)有所幫助。