使用PreparedStatement接口实现增删改操作
PreparedStatement是Statement的子接口(一般子接口更加强大),与直接使用Statement接口不同的是,PreparedStatement在操作时,是先在数据表中准备一条SQL语句,但是此时SQL语句的具体内容暂且不设置,而是之后再进行设置。
以后开发一般用PreparedStatement,不用Statement。
1 | PreparedStatement pstat = con |
添加操作
1 | import com.java.jdbc.model.Book; //在不同的包需要import |
更新操作
除操作
使用CallableStatement接口调用存储过程
CallableStatement主要用于调用数据库中的存储过程,它是PreparedStatement的子接口。在使用CallableStatement时可以接收存储过程的返回值。
格式:
void registerOutParameter(int parameterIndex, int sqlType) 按顺序位置parameterIndex将OUT参数注册为JDBC类型sqlType。
先创建一个procedure,根据id返回bookName
1 | DELIMITER && |
调用存储过程
1)直接在Mysql中调用
//会话遍历,同一个会话中可以取到,类似于全局遍历。如果存储过程中不加LIMITE 1在这步会报错:Result consisted of more than one row,这是因为mysql的参数赋值语句必须是只能够选出一行,
CALL pro_getBookNameById(7, @_bookName);
//显示这个遍历
SELECT @_bookName;
2)在eclipse中调用
1 | import java.sql.CallableStatement; |