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