创建存储过程: ------------------------------------------------------------------------------------------------------------------- DROP PROCEDURE IF EXISTS p_test1; DELIMITER $$ CREATE PROCEDURE `xxdb`.`p_test1`(status1 VARCHAR(2),detail1 VARCHAR(30), sn VARCHAR(10),OUT outmsg VARCHAR(50)) BEGIN DECLARE cnttask INT; DECLARE lock_cursor CURSOR FOR SELECT COUNT(1) AS cnt FROM tasktable; START TRANSACTION; OPEN lock_cursor; FETCH lock_cursor INTO cnttask; UPDATE tasktable a SET detail= CONCAT('cnt',cnttask,status1,detail1) WHERE a.sn=sn; CLOSE lock_cursor; SELECT taskdetail INTO outmsg FROM tasktable WHERE tasktable.sn=sn; COMMIT; END$$ DELIMITER ; ------------------------------------------------------------------------------------------------------------------- 调用: CALL p_test1('XY','dssss2','0000000011',@xx); SELECT @xx; ------------------------------------------------------------------------------------------------------------------- 创建函数: DROP FUNCTION IF EXISTS f_test1; DELIMITER $$ USE `atm`$$ DROP FUNCTION IF EXISTS `f_test1`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `f_test1`( param VARCHAR(10)) RETURNS VARCHAR(50) CHARSET gbk BEGIN DECLARE hi VARCHAR(50); DECLARE len INT DEFAULT 0 ; SET hi = 'from f_test1'; SET len = LENGTH(param); RETURN CONCAT('Hi [',param,']',' from[',hi,'] length:',len); END$$ DELIMITER ; ------------------------------------------------------------------------------------------------------------------------ 调用: SELECT f_test1('abcdefg'); --------------------------------------------------------------------------------------------------------------------------
/* java中调用存储过程: */ package com.database.test; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.SQLException; import java.sql.Types; public class TestCallProcedure { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Connection con = null; CallableStatement st = null; String sql = "{ call p_test1(?,?,?,?) }";//3个输入参数,1个输出参数 try { con = TestMySQLdatasource.getConnection(); st = con.prepareCall(sql); st.setString(1, "a1" );//输入参数 st.setString(2, "XYZ");//输入参数 st.setString(3, "0000000011");//输入参数 st.registerOutParameter(4, Types.VARCHAR);//输出参数,结果,位于第4 st.execute(); System.out.println(st.getString(4)); con.close(); } catch (SQLException e) { System.out.println(e.toString()); } } /* * * CREATE DEFINER=`root`@`localhost` PROCEDURE `p_test1`(status1 VARCHAR(2),detail1 VARCHAR(30), sn VARCHAR(10),out outmsg varchar(50)) BEGIN DECLARE cnttask INT; DECLARE lock_cursor CURSOR FOR SELECT COUNT(1) AS cnt FROM tasktable; START TRANSACTION; OPEN lock_cursor; FETCH lock_cursor INTO cnttask; UPDATE tasktalbe a SET taskdetail= CONCAT('cnt',cnttask,status1,detail1) WHERE a.sn=sn; CLOSE lock_cursor; select taskdetail into outmsg from tasktalbe where tasktalbe.sn=sn; COMMIT; END */ }
相关推荐
Java调用数据库存储过程[mysql测试通过]
Java调用Mysql存储过程,Mysql存储过程源代码在该项目根目录下。
java 调用 mysql存储过程实例
相信大家都知道存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集。存储过程是数据库中的一个重要对象,任何一个...Java调用mysql存储过程,实现如下,有需要的朋友们可以参考借鉴,下面来一起看看吧。
如何在java中调用mysql的存储过程的事例-how Calling mysql storage process stories
MyBatis调用MYSQL存储过程 返回多行 引用的包: asm-3.1.jar cglib-2.2.jar commons-logging-1.1.1.jar log4j-1.2.13.jar mybatis-3.0.4.jar mysql-connector-java-5.1.13.jar slf4j-api-1.5.8.jar slf4j-log4j12-...
Java调用存储过程--传入集合参数 具体的方法描述分析
JAVA通过MyBatis调用MySql存储过程和函数doc文档合集整理.zip
mysql 存储过程 ,存储函数的调用示例
资源包中囊括了MySQL数据库中的存储过程的使用包含的基本结构及日常所使用到的基本函数的使用【包括java端调用存储过程,创建临时表,动态执行sql语句,过程的递归调用,指针循环取数,批量创建表删除表,树状结构的...
使用Java struts+spring_ibaits+调用Mysql存储过程 实现增删改查
android通过jdbc方式连接mysql,并执行存储过程。连接数据库部分最好新建一个线程来实现和主线程分开。编译之前确定添加了mysql-connector-java-5.0.8-bin库否则会出错
analyData这是一个java定时任务,定时调用mysql的存储过程
java 调用存储过程 mysql数据库 有数据库脚本
根据自定义模板通过数据库表、视图和存储过程批量生成代码, 模板编辑和代码查看支持语法高亮 (Java, VB, T-SQL) 可以新增语法文件,文件格式类似于 EditPlus 软件附带模板包括: VB 三层结构中实体和...
hibernate本对数据库的操作有些不完美,有必要的时候可以调用存储过程来补足。
主要介绍了Java调用MySQL存储过程并获得返回值的方法,实例分析了java实现MySQL存储过程的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
1. 创建存储过程 建立一个MySQL的存储过程 add_pro 代码如下: delimiter // drop procedure add_pro // create procedure add_pro(a int , b int , out sum int ) begin set sum = a * b; end; // 2. 调用存储过程 ...
主要介绍了java调用mysql存储过程的方法,以实例形式较为详细的分析了mysql数据库的建立和存储过程的实现方法,需要的朋友可以参考下
JAVA调用 MYSQL存储过程 JSP实现分页