JDBC之调用存储过程
来源:互联网 发布:淘宝客户运营平台在哪 编辑:程序博客网 时间:2024/06/01 01:34
第一步:定义存储过程(注意:不同MySQL定义存储过程语法有差异)
DELIMITER $$DROP PROCEDURE IF EXISTS `jdbc`.`addUser` $$CREATE PROCEDURE `jdbc`.`addUser` (IN `pname` varchar(45),IN `birthday` date,IN `money` float,OUT `pid` int)BEGINinsert into user(`name`,`birthday`,`money`) values(pname, birthday, money);select last_insert_id() into id;END $$DELIMITER ;第二步:编写Java代码进行测试
package cn.itcast.jdbc;import java.sql.CallableStatement;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Types;import org.junit.Test;/** * JDBC之调用存储过程 */public class CallableStatementTest {@Testpublic void testCs() throws SQLException {csTest();}/** * 测试调用存储过程 * @throws SQLException */static void csTest() throws SQLException {Connection conn = null;CallableStatement cs = null;ResultSet rs = null;try {//建立连接conn = JdbcUtils.getConnection();//即使没有参数,下面这行也需要括号String sql = "{ call addUser(?, ?, ?, ?)}";cs = conn.prepareCall(sql);//设置输出参数cs.registerOutParameter(4, Types.INTEGER);cs.setString(1, "ps name");//设置第一个参数cs.setDate(2, new java.sql.Date(System.currentTimeMillis()));cs.setFloat(3, 100f);cs.executeUpdate();//获取输出结果int id = cs.getInt(4);System.out.println("id=" + id);} finally {//因为CallableStatement是继承自PreparedStatement,//所以可以直接传入关闭JdbcUtils.free(rs, cs, conn);}}}
阅读全文
0 0
- JDBC之调用存储过程
- JDBC之调用存储过程
- JDBC之调用存储过程
- JDBC详解之存储过程的调用
- jdbc调用存储过程
- Jdbc调用存储过程
- jdbc调用存储过程
- jdbc调用存储过程
- JDBC调用存储过程
- JDBC调用存储过程
- JDBC调用存储过程
- Jdbc存储过程调用
- jdbc调用存储过程
- JDBC调用存储过程
- Jdbc调用存储过程
- JDBC调用存储过程
- JDBC调用存储过程
- jdbc调用存储过程
- 热修复框架Tinker最完整讲解(03)——使用Tinker常见问题
- Linux程序设计--进程与信号
- EffictiveJava学习笔记--创建和销毁对象
- [Linux C语言](学习笔记)标准输入流输出流以及错误流的重定向机制(2)
- K进制下的大数 字符串取模
- JDBC之调用存储过程
- 用c语言实现继承和多态
- 自定义控件之TagGroup
- kubernetes安全测试
- Vue.js的认知
- Linux之旅
- [前端与移动开发] 【前端技术分享】Web前端性能优化的9大问题
- Python编程_Lesson001_python简介和输入输出
- 分布式系统SDK端重试策略