首先我在mysql的test数据库里定义了一个student表:

create table student4(

id   int   primary key,

sanme char(5)

);

插入几个数据做测试用:

inset into student values(1,'mayi');

inset into student values(2,'mayi');

inset into student values(3,'mayi');

建立存储过程:

in 型:

delimiter //

create procedure demo_in(in p_in int)

begin

select p_in;

set p_in=2;

select p_in;

end;

//

delimiter ;

java测试代码:

CallableStatement callstatement = conn.prepareCall("call demo_in(?)");//conn,数据库连接

callstatement.setInt(1, 1);//设置第一个参数

callstatement.execute();//执行

conn.close();//关闭连接

out型:

delimiter //

create procedure demo_out(out s int)

begin

select count(*) into s from student;

end

//

delimiter ;

java测试代码:

CallableStatement callstatement = conn.prepareCall("call demo_out(?)");

callstatement.registerOutParameter(1, java.sql.Types.INTEGER);//注册存储过程的out型参数类型;使用之前必须注册;

callstatement.execute();//执行

System.out.println(callstatement.getInt(1));//获得存储过程的输出参数

conn.close();//关闭连接

java 调用mysql的存储过程(简单示例)的更多相关文章

  1. Java调用MySQL存储过程

    Java调用MySQL的存储过程,需要用JDBC连接,环境eclipse 首先查看MySQL中的数据库的存储过程,接着编写代码调用 mysql> show procedure status; + ...

  2. 24、jQuery常用AJAX-API/Java调用MySQL / Oracle过程与函数

      1)掌握jQuery常用AJAX-API 2)掌握Java调用MySQL / Oracle过程与函数 一)jQuery常用AJAX-API 目的:简化客户端与服务端进行局部刷新的异步通讯 (1)取 ...

  3. Java调用MySql数据库函数

    Java调用MySql数据库函数 /** * 调用mysql的自定义函数 * */ private void test() { logger.info("show task start &q ...

  4. java调用mysql服务做备份与恢复

    首先添加mysql的bin到环境变量,这样可以简写部分命令,并且做到不依赖系统mysql的具体安装路径. 重启计算机可以让添加的环境变量在java代码中调用时生效.(cmd中生效但java中调用没有生 ...

  5. java读取ACCESS数据库的简单示例

    java读取ACCESS数据库的简单示例 虽然简单,对初学者来说,如果没有一段可以成功执行的代码供参考,还真难调试 先用ACCESS建一个数据库 DB1.MDB,里面有一表"table1&q ...

  6. shell脚本 如何调用Mysql的存储过程 解决方案

    今天遇到一个在shell脚本里面要调用MySQL的存储过程,查阅了很多资料,发现有的都不好用,自己调试出了如下一种,拿来共享: 用mysql -e “ ”: 例如:   mysql -uroot -p ...

  7. C#调用Python脚本的简单示例

    C#调用Python脚本的简单示例 分类:Python (2311)  (0)  举报  收藏 IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Huguni ...

  8. java 调用 sql server存储过程

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  9. mybatis调用mysql的存储过程(procedure),实现查询操作(student表中的某个年级中的总人数 select (1) 或者 select (*))

    step1:在mysql cmd中新建存储过程: drop procedure if exists queryCountByGrade ; delimiter // -- 定义存储过程结束符号为// ...

随机推荐

  1. web端、android端的文件上传

    1.web端的文件上传. 这里是利用了第三方的jar包.这里所需要的jar包我已经上传到本博客的资源里了,以下是连接 http://download.csdn.net/detail/caihongsh ...

  2. Flex上传文件

    前几天写了一篇jsp页面利用ajaxFileUpload上传文件.如今把flex上传页面也分享出来: 前台页面 <?xml version="1.0" encoding=&q ...

  3. Android Studio显示行数

    Android Studio在打开的文件左側单击鼠标右键,也能像Eclipse一样设置显示代码行数,如图1.可是这边跟Eclipse有一个非常大的差别,Eclipse设置后,其余的相应文件也跟着生效, ...

  4. uva 10951 - Polynomial GCD(欧几里得)

    题目链接:uva 10951 - Polynomial GCD 题目大意:给出n和两个多项式,求两个多项式在全部操作均模n的情况下最大公约数是多少. 解题思路:欧几里得算法,就是为多项式这个数据类型重 ...

  5. 安装Linux_[CentOS]系统

    Lunx操作系统安装 虚拟机:VirtualBox. 操作系统的选择:CentOS 6.3. (64位/32位都可). (CentOS:诞生于社区的企业级操作系统). Install Or Upgra ...

  6. uva 699

    #include <iostream> #include <cstdio> #include <cmath> #include <cstring> #i ...

  7. libevent简单分析

    一看名字就知道是围绕eventloop转的. 那首先肯定是eventloop是个什么?一般都是IO事件,timer事件的管理器. 那首先看如何new出来一个eventloop: 1.因为libeven ...

  8. 怎样用Java编写一段代码引发内存泄露

    通过下面步骤能够非常easy产生内存泄露(程序代码不能訪问到某些对象,可是它们仍然保存在内存中): 应用程序创建一个长时间执行的线程(或者使用线程池,会更快地发生内存泄露). 线程通过某个类载入器(能 ...

  9. C++易vector

    很长一段时间没有动手编写C++计划.无非就是模仿后STL对,虽然达不到标准STL该程序.但简单的功能来实现. STL事实上,深刻:泛型编程.容器.算法.适配器...有的是内容能够学.以下是依据STL源 ...

  10. IT忍者神龟之Photoshop解析新手抠图的5个高速选择工具

    一:魔棒工具 这是建立选区最简单的方法.但仅仅有在背景色为纯色时才会比較有效. 因此,当要选择的对象的背景为空白背景时.可使用魔棒工具,比如一张产品拍摄图. 在建立选区时,首先,要确保图片在一个图层中 ...