JAVA如何调用mysql写的存储过程
存储过程是干什么的,自己百度,百度上讲的比我讲的好。为什么要用存储过程,这样可以提高效率。废话少说,直接上代码:
首先说一下语法:在mysql中写存储过程
DELIMITER $$ CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `test`.`text_d`(in param1 varchar(10),in param2 varchar(20))
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
insert into user (user_name,user_dept) values(param1,param2);
END$$ DELIMITER ;
上面就定义了一个存储过程,这个存储过程很简单,只是让大家看懂,据说,存储过程很复杂的。
下面是java代码:
package jdbc_study; import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException; public class PreDuce { public static void main(String[] args) { //首先获得数据库的连接 User user = new User(); user.setUsername("孙悟空");
user.setUserdept("java方向"); save(user); } public static void save(User user) {
//1:获得数据库的连接
Connection conn = BaseDao.getConnection(); //2:CallableStatement
CallableStatement proc = null;
try {
proc= conn.prepareCall("{call text_c(?,?)}");
proc.setString(1, user.getUsername());
proc.setString(2, user.getUserdept());
proc.execute();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
proc.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} } }
JAVA如何调用mysql写的存储过程的更多相关文章
- 演示Java如何调用Mysql的过程和函数
这里只演示Java如何调用Mysql的过程和函数 --------------------------------------------------------------------------- ...
- 在Java中调用带参数的存储过程
JDBC调用存储过程: CallableStatement 在Java里面调用存储过程,写法那是相当的固定: Class.forName(.... Connection conn = DriverMa ...
- java中调用数据库中的存储过程和函数
public static void main(String[] args) { Connection conn =getConnection(url,user, pwd); ...
- C# 调用Mysql 带参数存储过程
使用C#调用Mysql 带参数的存储过程: 1.创建带参数的存储过程:USP_Temp_Test 2.两个参数:IN 参数为 P_XML , OUT 参数为 P_ErrorOut 3.C#代码调用该存 ...
- Java JDBC调用inout类型参数的存储过程
存储过程参数类型:in.out.inout,in:输入类型,out:输出类型,inout:既可输入,也可以输出. 一.JDBC调用inout类型参数的存储过程,并且获得返回值 Class.forNam ...
- java, mybatis, 调用mysql存储过程
Map<String, Object> bindinfo = new HashMap<String, Object>(); bindinfo.put(&q ...
- Java jdbc链接 mySQL 写的crud
1.JDBC(Java Data Base Connectivity java数据库连接)概念: 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编 ...
- PHP多次调用Mysql存储过程报错解决办法
PHP多次调用Mysql数据库的存储过程会出现问题,主要问题为存储过程中执行多次SQL语句不能一一释放导致的,网上找了一些解决办法,比如使用 multi_query 然后一个一个释放,但是发现根本不适 ...
- Java调用MySQL存储过程
Java调用MySQL的存储过程,需要用JDBC连接,环境eclipse 首先查看MySQL中的数据库的存储过程,接着编写代码调用 mysql> show procedure status; + ...
随机推荐
- OGG遇到相关问题汇总
OGG初始化加载数据时遇到的问题 1.target端拒绝source端访问 2016-12-13 14:31:03 INFO OGG-00963 Oracle GoldenGate Manager f ...
- Unity3D研究院之将UI的点击事件渗透下去(转)
转自 http://www.xuanyusong.com/archives/4241 处理UI还有3D模型的点击推荐使用UGUI的这套事件系统,因为使用起来比较简洁,不需要自己用代码来发送射线,并且可 ...
- C# DataTbale详细操作
1.创建DataTable对象 DataTable dt = new DataTable("Table_AX"); 2.为DataTable创建列 //方式一(我觉得这种好) dt ...
- Azure Redis 缓存的 ASP.NET 会话状态提供程序
Azure Redis Cache 提供了一个会话状态提供程序,你可以使用其在缓存中(而不是内存中或在 SQL Server 数据库中)存储会话状态.要使用缓存会话状态提供程序,先首先配置缓存,然后使 ...
- python nose测试框架全面介绍五--attr介绍
之前写了一系列nose框架的,这篇介绍下attr tag 在nose框架中attr用来标识用例,使得在运行时可以通过标识来执行用例,之前在nose测试框架全面介绍四中有说明,但没有说明清楚,这里再总结 ...
- Java虚拟机七 虚拟机监控
jstack 用于导出Java应用程序的线程堆栈:jstack [-l] <pid> -l 选项用于打印锁的附加信息 jstack -l 2348 > /data/deadlock. ...
- Shell for
for循环一般格式为:for 变量 in 列表do command1 command2 ... commandNdone列表是一组值(数字.字符串等)组成的序列,每个值通过空格分隔.每循环一次,就将列 ...
- 7.22 python线程(3)
2018-7-22 10:28:29 回来啦! 6.条件 # !/usr/bin/env python # !--*--coding:utf-8 --*-- # !@Time :2018/7/20 1 ...
- 170822、解决PLSQL记录被另一个用户锁住的问题
1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b. ...
- 线性DP总结(LIS,LCS,LCIS,最长子段和)
做了一段时间的线性dp的题目是时候做一个总结 线性动态规划无非就是在一个数组上搞嘛, 首先看一个最简单的问题: 一,最长字段和 下面为状态转移方程 for(int i=2;i<=n;i++) { ...