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>