java调用存储过程

    技术2022-05-11  17

    1、首先创建表user:

    CREATE TABLE user(name varchar(20),age int);

    然后插入数据到表中:

    INSERT INTO user values('张三','20')('李四','21')('王五','24');

    此时表中有3条数据,如下所示:

    name age

    张三 20

    李四 21

    王五 24

    创建存储过程insert_user:

    create procedure insert_user(name varchar(20),age int)

    begin

    insert into user values(name,age);

    end;//

     

    2、编写java源文件(工具eclipse)

    代码如下:

    public class JDBCExample {     public static void main(String[] args) {         Connection con = null;         CallableStatement cStmt = null;         String driver = "com.mysql.jdbc.Driver";         String sql = "call insert_user(?,?)";         try {             Class.forName(driver);             con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db5", "root",                     "hawkbear");             cStmt = con.prepareCall(sql);//调用存储过程插入数据             cStmt.setString(1, "胡哥");             cStmt.setInt(2, 25);             cStmt.execute();         } catch (ClassNotFoundException e) {             // TODO Auto-generated catch block             e.printStackTrace();         } catch (SQLException e) {             // TODO Auto-generated catch block             e.printStackTrace();         } finally {             try {                 if (cStmt != null)                     cStmt.close();                 if (con != null)                     con.close();             } catch (SQLException e) {                 // TODO Auto-generated catch block                 e.printStackTrace();             }         }     } } 查看数据库中内容如下:

    name age

    张三 20

    李四 21

    王五 24

    胡哥 25

    对比表中原始数据,可以看到新的数据插入成功,即存储过程执行成功。

     

    原创,如有雷同,请对号入座,谢谢


    最新回复(0)