日期:2014-05-16 浏览次数:20425 次
一: 存储过程
1. mysql 命令回顾:
创建存储过程代码(纯岁的插入):
delimiter @@ //占位符,为了不让程序默认认为是‘;’结束
create procedure mypro(过程名)(in unamevarchar,in upassword char)
begin
insert into (name,password)values(uname,upassword);
//mysql语句,这里与其他地方mysql增删改查的语句一样,比如插入时如果不是全部字段则要显示(name,password);
end @@
delimiter ;//设置回来mysql系统默认的结束符
访问存储过程:
Call mypro1(‘杨凯’,‘123456’);
创建存储过程代码(输出)
delimiter @@
create procedure mypro1(过程名)(in uid int,outstr char)
begin
select name into str fromusers where id=uid;
//这里要特别注意一下into str语句,这里是把select输出的语句暂存在str变量中
end @@
delimiter ;
访问存储过程:
Callmypro1(1,@per); //这里的@per代表用个临时变量per存放输出的东西
Select @per; // 在cmd窗口显示要输出的内容
2. JDBC访问存储过程案例分析:
JDBC创建存储过程代码(纯岁的插入):
packagecom.code;
importjava.sql.CallableStatement;
importjava.sql.Connection;
importjava.sql.SQLException;
importjava.sql.Types;
importcom.Db.DbManager;
publicclass Demo4 {
public void insert(){
Connection con =DbManager.getConnection();
CallableStatement cs = null;
try {
cs = con.prepareCall("{call mypro(?,?)}");//记住这种特殊的格式,外面引号然后花括号,里面是语句
cs.setString(1,"gnb");
cs.setString(2,"gnb");
cs.execute();
System.out.println("成功了");
} catch (SQLException e) {