mysql存储过程返回查询结果集
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `testproc`;
CREATE TABLE `testproc` (
`id` int(4) NOT NULL,
`name` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1.2 插入数据
INSERT INTO `testproc` VALUES ('1', '第一条记录');
INSERT INTO `testproc` VALUES ('2', 'efgh');
INSERT INTO `testproc` VALUES ('3', 'ijklmn');
INSERT INTO `testproc` VALUES ('4', 'zxvb');
INSERT INTO `testproc` VALUES ('5', 'uiop');
INSERT INTO `testproc` VALUES ('6', '222');
INSERT INTO `testproc` VALUES ('7', '8888');
INSERT INTO `testproc` VALUES ('9', '第9条记录');
INSERT INTO `testproc` VALUES ('10', '第10条记录');
INSERT INTO `testproc` VALUES ('11', '第11条记录');
INSERT INTO `testproc` VALUES ('12', '第12条记录');
1.3 创建存储过程
CREATE PROCEDURE test_proc_multi_select()
BEGIN
select * from testproc;
select * from testproc where id=1;
END;
1.4 删除存储过程
DROP PROCEDURE test_proc_multi_select;
二、JAVA相关代码
package action;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.CallableStatement;
/**
* 存储过程
* @author Pei
*
*/
public class CunChu {
public static final String DBDRIVER = "com.mysql.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://127.0.0.1:3306/test1";
public static final String DBUSER = "root";
public static final String DBPASS = "123456";
public static void main(String[] args) {
Connection con = null;
CallableStatement cs;
try {
Class.forName(DBDRIVER);
con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
String sql = "{call test_proc_multi_select()}";
cs = (CallableStatement) con.prepareCall(sql);
boolean hadResults = cs.execute();
int i = 0;
while (hadResults) {
System.out.println("result No:----" + (++i));
ResultSet rs = cs.getResultSet();
while (rs != null && rs.next()) {
int id1 = rs.getInt(1);
String name1 = rs.getString(2);
System.out.println(id1 + ":" + name1);
}
hadResults = cs.getMoreResults(); // 检查是否存在更多结果集
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
pom.xml文件
<dependencies> <dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <!-- 数据库--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> </dependencies>

浙公网安备 33010602011771号