- 浏览: 996480 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (394)
- OSGI (14)
- 多线程 (10)
- 数据库 (30)
- J2ME (1)
- JAVA基础知识 (46)
- 引用包 (1)
- 设计模式 (7)
- 工作流 (2)
- Ubuntu (7)
- 搜索引擎 (6)
- QT (2)
- Ubuntu下编程 (1)
- 小程序 (2)
- UML (1)
- Servlet (10)
- spring (16)
- IM (12)
- 文档视频转为flash格式在线播放 (19)
- Maven (8)
- 远程调用 (2)
- PHPRPC (1)
- EXTJS学习 (2)
- Hibernate (16)
- 技术文章 (38)
- flex (5)
- 海量数据处理 (5)
- FTP (8)
- JS (10)
- Struts (1)
- hibernate search (13)
- JQuery (2)
- EMail (3)
- 算法 (4)
- SVN (7)
- JFreeChart (4)
- 面试 (4)
- 正规表达式 (2)
- 数据库性能优化 (10)
- JVM (6)
- Http Session Cookie (7)
- 网络 (12)
- Hadoop (2)
- 性能 (1)
最新评论
-
hy1235366:
能够随便也发一下,你退火算法程序使用的DistanceMatr ...
模拟退火算法总结(含例子)(转) -
梅强强:
感谢分享。。帮大忙了
swftools转换文件时线程堵塞问题的解决方法 -
wenlongsust:
openoffice和文件不在同一个服务器上,用过吗?
[JODConverter]word转pdf心得分享(转) -
2047699523:
如何在java Web项目中开发WebService接口htt ...
利用Java编写简单的WebService实例 -
abingpow:
唉,看起来好像很详细很不错的样子,可惜不是篇面向初学者的文章, ...
Spring与OSGi的整合(二)(转)
首先在mysql中练习下存储过程的小例子:
mysql> delimiter //
mysql> create procedure hello()
-> begin
-> select 'It is not a HelloWorld';
-> end
-> //
Query OK, 0 rows affected (0.01 sec)
mysql> create procedure hello()
-> begin
-> select 'It is not a HelloWorld';
-> end
-> //
Query OK, 0 rows affected (0.01 sec)
其中“delimiter //”的意思是定义结束符号为“//”,以此来替换mysql中的“;”
在mysql中查询上面的过程hello():
mysql> call hello()//
+------------------------+
| It is not a HelloWorld |
+------------------------+
| It is not a HelloWorld |
+------------------------+
1 row in set (0.00 sec)
+------------------------+
| It is not a HelloWorld |
+------------------------+
| It is not a HelloWorld |
+------------------------+
1 row in set (0.00 sec)
建立一个简单的测试用表:
mysql> DROP TABLE IF EXISTS `userinfo`.`mapping`;
-> CREATE TABLE `userinfo`.`mapping` (
-> `cFieldID` smallint(5) unsigned NOT NULL,
-> `cFieldName` varchar(30) NOT NULL,
-> PRIMARY KEY (`cFieldID`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-> //
Query OK, 0 rows affected (0.14 sec)
-> CREATE TABLE `userinfo`.`mapping` (
-> `cFieldID` smallint(5) unsigned NOT NULL,
-> `cFieldName` varchar(30) NOT NULL,
-> PRIMARY KEY (`cFieldID`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-> //
Query OK, 0 rows affected (0.14 sec)
向table mapping中插入一些初始化的数据:
mysql> load data infile 'd:\\userInfo\\field.txt' into table mapping
-> fields terminated by ',' lines terminated by '\r\n' //
Query OK, 5 rows affected (0.02 sec)
Records: 5 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select *from mapping//
+----------+-------------+
| cFieldID | cFieldName |
+----------+-------------+
| 1 | MarketValue |
| 2 | P/L |
| 3 | EName |
| 4 | Nominal |
| 5 | Chg |
+----------+-------------+
5 rows in set (0.02 sec)
-> fields terminated by ',' lines terminated by '\r\n' //
Query OK, 5 rows affected (0.02 sec)
Records: 5 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select *from mapping//
+----------+-------------+
| cFieldID | cFieldName |
+----------+-------------+
| 1 | MarketValue |
| 2 | P/L |
| 3 | EName |
| 4 | Nominal |
| 5 | Chg |
+----------+-------------+
5 rows in set (0.02 sec)
现在简历一个向mapping中插入一条记录并返回记录的总和
mysql> drop procedure if exists mappingProc;
-> create procedure mappingProc(out cnt int)
-> begin
-> declare maxid int;
-> select max(cFieldID)+1 into maxid from mapping;
-> insert into mapping(cFieldID,cFieldName) values(maxid,'hello');
-> select count(cFieldID) into cnt from mapping;
-> end
-> //
-> create procedure mappingProc(out cnt int)
-> begin
-> declare maxid int;
-> select max(cFieldID)+1 into maxid from mapping;
-> insert into mapping(cFieldID,cFieldName) values(maxid,'hello');
-> select count(cFieldID) into cnt from mapping;
-> end
-> //
查找mappingProc():
mysql> call mappingProc(@a)//
mysql> select @a//
+------+
| @a |
+------+
| 6 |
+------+
mysql> select * from mapping//
+----------+-------------+
| cFieldID | cFieldName |
+----------+-------------+
| 1 | MarketValue |
| 2 | P/L |
| 3 | EName |
| 4 | Nominal |
| 5 | Chg |
| 6 | hello |
+----------+-------------+
mysql> select @a//
+------+
| @a |
+------+
| 6 |
+------+
mysql> select * from mapping//
+----------+-------------+
| cFieldID | cFieldName |
+----------+-------------+
| 1 | MarketValue |
| 2 | P/L |
| 3 | EName |
| 4 | Nominal |
| 5 | Chg |
| 6 | hello |
+----------+-------------+
下面是java代码用来调用MySQL的存储过程:
package kissJava.sql;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;
public class SQLUtils {
String url = "jdbc:mysql://127.0.0.1:3306/userInfo";
String userName = "root";
String password = "zhui007";
public Connection getConnection() {
Connection con=null;
try{
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
con = DriverManager.getConnection(url, this.userName, this.password);
}catch(SQLException sw){
}
return con;
}
public void testProc(){
Connection conn = getConnection();
CallableStatement stmt = null;
try{
stmt = conn.prepareCall("{call mappingProc(?)}");
stmt.registerOutParameter(1, Types.INTEGER);
stmt.execute();
int i= stmt.getInt(1);
System.out.println("count = " + i);
}catch(Exception e){
System.out.println("hahad = "+e.toString());
}finally{
try {
stmt.close();
conn.close();
}catch (Exception ex) {
System.out.println("ex : "+ ex.getMessage());
}
}
}
public static void main(String[] args) {
new SQLUtils().testProc();
}
}
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;
public class SQLUtils {
String url = "jdbc:mysql://127.0.0.1:3306/userInfo";
String userName = "root";
String password = "zhui007";
public Connection getConnection() {
Connection con=null;
try{
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
con = DriverManager.getConnection(url, this.userName, this.password);
}catch(SQLException sw){
}
return con;
}
public void testProc(){
Connection conn = getConnection();
CallableStatement stmt = null;
try{
stmt = conn.prepareCall("{call mappingProc(?)}");
stmt.registerOutParameter(1, Types.INTEGER);
stmt.execute();
int i= stmt.getInt(1);
System.out.println("count = " + i);
}catch(Exception e){
System.out.println("hahad = "+e.toString());
}finally{
try {
stmt.close();
conn.close();
}catch (Exception ex) {
System.out.println("ex : "+ ex.getMessage());
}
}
}
public static void main(String[] args) {
new SQLUtils().testProc();
}
}
在到MySQL中查询可看到插入一条新的记录
发表评论
-
SQL查询前10条记录(SqlServer/mysql/oracle/sybase)[语法分析] (转)
2011-04-22 00:45 5417这篇文章主要是分析下 ... -
SQL Group by Having 学习(转)
2011-04-19 10:33 1493在select 语句中可以使 ... -
使用PreparedStatement防止SQL注入(转)
2011-04-18 14:58 1789一条效率差的sql语句, ... -
JDBC Class.forName作用(转)
2011-04-13 14:53 1197使用JDBC时,我们都会很自然得使用下列语句: ... -
关于数据库内连接外连接左连接右连接(转)
2011-03-26 19:04 1579内连接:把两个表中数据对应的数据查出来 外连接:以某个表为基础 ... -
数据库事务隔离级别与锁(转)
2011-03-26 18:57 1252一,事务的4个基本特征 Atomic(原子性): 事务中包含的 ... -
PreparedStatement效率为什么高/为什么要使用PreparedStatement代替Statement(转)
2011-03-25 09:28 2775在JDBC应用中,如果你 ... -
浅谈数据库索引(转)
2011-03-23 10:10 1188数据库索引是为了增加查询速度而对表字段附加的一 ... -
漫谈数据库索引(转)
2011-03-23 10:00 1029一、引言 对数据库索引的关注从未淡出我的们的讨论,那 ... -
用SQL语句去掉重复的记录(转)
2011-03-23 01:25 6810海量数据(百万以上) ... -
数据库范式(转)
2011-03-23 01:18 1421当前我们使用的主流数 ... -
mysql中limit的用法详解[数据分页常用] (转)
2011-01-08 16:44 1399在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据, ... -
查询优化的必要性(转)
2010-12-19 09:55 1478查询优化的最终目的是为了提高数据库系统的性能 ... -
Oracle导出数据(转)
2010-12-14 15:33 14851.1 exp 使用方法及 ... -
oracle初次使用
2010-12-14 13:06 1087以前都习惯了使用MySQL ... -
Mysql连接字符串大全(转)
2010-08-15 21:25 4833mysql JDBC 驱动常用的有两个,一个是gj ... -
Mysql的transaction实现(转)
2010-08-15 15:02 1948transaction在数据库编程 ... -
Hibernate 各种数据库的配置(转)
2010-07-22 20:27 16151. MySql连接配置 MySql数据库的hib ... -
左连接、右连接、全连接及区别(转)
2010-05-16 15:23 4292上节我们介绍了表连接,更确切的说是inner joins內连接 ... -
查询重复记录sql (转)
2010-05-16 15:23 1244这是我的一次笔试题,是查询一个表(id,name)中重复的记录 ...
相关推荐
Java调用Mysql存储过程,Mysql存储过程源代码在该项目根目录下。
java 调用 mysql存储过程实例
Java调用数据库存储过程[mysql测试通过]
相信大家都知道存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集。存储过程是数据库中的一个重要对象,任何一个...Java调用mysql存储过程,实现如下,有需要的朋友们可以参考借鉴,下面来一起看看吧。
Java调用存储过程--传入集合参数 具体的方法描述分析
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通过MyBatis调用MySql存储过程和函数doc文档合集整理.zip
如何在java中调用mysql的存储过程的事例-how Calling mysql storage process stories
资源包中囊括了MySQL数据库中的存储过程的使用包含的基本结构及日常所使用到的基本函数的使用【包括java端调用存储过程,创建临时表,动态执行sql语句,过程的递归调用,指针循环取数,批量创建表删除表,树状结构的...
java 调用存储过程 mysql数据库 有数据库脚本
使用Java struts+spring_ibaits+调用Mysql存储过程 实现增删改查
mysql 存储过程 ,存储函数的调用示例
主要介绍了Java调用MySQL存储过程并获得返回值的方法,实例分析了java实现MySQL存储过程的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
android通过jdbc方式连接mysql,并执行存储过程。连接数据库部分最好新建一个线程来实现和主线程分开。编译之前确定添加了mysql-connector-java-5.0.8-bin库否则会出错
hibernate本对数据库的操作有些不完美,有必要的时候可以调用存储过程来补足。
通过调用数据库连接对话框建立数据库连接 (目前测试支持 MSSQL, Oracle, Access, MySql) 根据自定义模板通过数据库表、视图和存储过程批量生成代码, 模板编辑和代码查看支持语法高亮 (Java, VB, T-SQL) 可以...
analyData这是一个java定时任务,定时调用mysql的存储过程
MySQL存储过程之java调用 9 MySQL存储过程实现动态查询 12 MySQL应用总结 12 MySQL数据管理 15 数据管理 15 MySQL数据导出 15 MySQL数据还原 15 MySQL灾难性复制恢复总结 16 MySQL授权管理 17 未解决及已解决问题 19...
1. 创建存储过程 建立一个MySQL的存储过程 add_pro 代码如下: ... 调用存储过程 代码如下: package com.zhanggaosong; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManage
主要介绍了java调用mysql存储过程的方法,以实例形式较为详细的分析了mysql数据库的建立和存储过程的实现方法,需要的朋友可以参考下