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
对比表中原始数据,可以看到新的数据插入成功,即存储过程执行成功。
原创,如有雷同,请对号入座,谢谢
