吴裕雄--天生自然JAVA数据库编程:CallableStatement接口
DELIMITER //
DROP PROCEDURE myproc // -- 删除过程
CREATE PROCEDURE myproc(IN p1 int,INOUT p2 int,OUT p3 int)
BEGIN
SELECT p1,p2,p3 ; -- 输出p1、p2、p3的内容
SET p1=10 ;
SET p2=20 ;
SET p3=30 ;
END
// DELIMITER ;
SET @x1=70 ; -- 定义变量x1,内容为70
SET @x2=80 ; -- 定义变量x2,内容为80
CALL myproc(@x1,@x2,@x3) ;
SELECT @x1,@x2,@x3 ;
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.CallableStatement ;
import java.sql.Types ;
public class ProcDemo{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[]) throws Exception{ // 所有异常抛出
Connection conn = null ; // 数据库连接
CallableStatement cstmt = null ; // 数据库操作
String sql = "{CALL myproc(?,?,?)}" ; // 调用过程
Class.forName(DBDRIVER) ; // 加载驱动程序
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
cstmt = conn.prepareCall(sql) ;
cstmt.setInt(1,70) ; // 设置第一个参数是70
cstmt.setInt(2,80) ; // 设置第二个参数是80
cstmt.registerOutParameter(2,Types.INTEGER) ;
cstmt.registerOutParameter(3,Types.INTEGER) ;
cstmt.execute() ; // 执行过程
System.out.println("INOUT的返回值:" + cstmt.getInt(2)) ;
System.out.println("OUT的返回值:" + cstmt.getInt(3)) ;
cstmt.close() ;
conn.close() ; // 数据库关闭
}
};
吴裕雄--天生自然JAVA数据库编程:CallableStatement接口的更多相关文章
- 吴裕雄--天生自然JAVA数据库编程:使用JDBC连接ORACLE数据库
DROP TABLE person ; DROP SEQUENCE myseq ; CREATE SEQUENCE myseq ; CREATE TABLE person ( id INT PRIMA ...
- 吴裕雄--天生自然JAVA数据库编程:使用元数据分析数据库
import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.SQLException ; import j ...
- 吴裕雄--天生自然JAVA数据库编程:事务处理
DROP TABLE user ; -- 删除表 CREATE TABLE user( id INT AUTO_INCREMENT PRIMARY KEY , name VARCHAR(30) NOT ...
- 吴裕雄--天生自然JAVA数据库编程:JDBC2.0操作
import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.SQLException ; import j ...
- 吴裕雄--天生自然JAVA数据库编程:处理大数据对象
import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.SQLException ; import j ...
- 吴裕雄--天生自然JAVA数据库编程:PrepareStatement
import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.SQLException ; import j ...
- 吴裕雄--天生自然JAVA数据库编程:ResultSet接口
import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.SQLException ; import j ...
- 吴裕雄--天生自然JAVA数据库编程:执行数据库更新操作
import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; public clas ...
- 吴裕雄--天生自然JAVA数据库编程:JDBC操作步骤及数据库连接操作
public class ConnectionDemo01{ // 定义MySQL的数据库驱动程序 public static final String DBDRIVER = "org.gj ...
随机推荐
- 一、FreeMarker实现对js和css压缩
1.代码压缩理解:实际上就是将原有的文本中无用的注释.空行.空格去掉来压缩文件的大小.进行js和css压缩会带来如下好处:1)减小了文件的体积,减少文件占用的内存;2)减小了网络传输量和带宽占用; 3 ...
- C++11常用特性介绍——for循环新用法
一.for循环新用法——基于范围的for循环 for(元素类型 元素对象 : 容器对象) { //遍历 } 1)遍历字符串 std::string str = "hello world&qu ...
- druid监控sql完整版
利用Druid实现应用和SQL监控 一.关于Druid Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系. D ...
- Vulnhub_bossplayersCTF 记录
目录 经验 & 总结 步骤流水 经验 & 总结 CTF这种东西还是有一些脑洞和约定俗成的东西: 比如多次编码 比如cmd参数传入执行的命令 步骤流水 端口信息搜集nmap -A 192 ...
- jquery怎么获取当前标签下的子标签
1.var num1=$("ul > a:eq(0)").attr("ID");2.var num2=$("ul").children ...
- json字符串转换成json增删查改节点
一.功能实现 1.节点树查询: 按ID查询树 2.节点新增: http://host/tree_data/node/${treeId} in: {node: {key: ..., ...}, pare ...
- 吴裕雄--天生自然PythonDjangoWeb企业开发:框架基础和技术选型
简单的Web Server import socket eol1 = b'\n\n' eol2 = b'\n\r\n' body = '''Hello,world!<h1>tszrwyx& ...
- c++构造函数的初始化列表(翁恺c++公开课[13])
初始化列表形式: class Point { private: const float x,y; Point(float xa = 0.0, flato ya = 0.0):y(ya),x(xa) { ...
- Centos7 安装redis及简单使用
一.redis的介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset( ...
- redis 之redis持久化rdb与aof
redis是内存型的数据库 重启服务器丢失数据 重启redis服务丢失数据 断电丢失数据 Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种 ...