java-MySQL存储过程

 1 import java.sql.CallableStatement; 
 2 import java.sql.Connection; 
 3 import java.sql.DriverManager; 
 4 import java.sql.Types; 
 5 
 6 
 7 
 8 /* 
 9  * 对应的存储过程 
10  DROP PROCEDURE IF EXISTS `pro_num_user`; 
11 delimiter ;; 
12 CREATE PROCEDURE `pro_num_user`(IN user_name varchar(10) ,OUT count_num INT) 
13     READS SQL DATA 
14 BEGIN 
15     SELECT COUNT(*) INTO count_num FROM tab_user WHERE 'name'=user_name; 
16 END 
17  ;; 
18 delimiter ; 
19  */ 
20 public class Test { 
21 
22     public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver"; 
23     public static final String URL = "jdbc:mysql://127.0.0.1:3306/test"; 
24     public static final String USERNAME = "root"; 
25     public static final String PASSWORD = "acbee"; 
26     public static void main(String[] args) throws Exception { 
27         test1(); 
28         test2(); 
29     } 
30      
31     public static void test1() throws Exception 
32     { 
33         Class.forName(DRIVER_CLASS); 
34         Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); 
35         String sql = "{CALL pro_num_user(?,?)}"; //调用存储过程 
36         CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm 
37         cstm.setString(1, "myd"); //存储过程输入参数 
38         //cstm.setInt(2, 2); // 存储过程输入参数 
39         cstm.registerOutParameter(2, Types.INTEGER); // 设置返回值类型 即返回值 
40         cstm.execute(); // 执行存储过程 
41         System.out.println(cstm.getInt(2)); 
42         cstm.close(); 
43         connection.close(); 
44     } 
45      
46     public static void test2() throws Exception 
47     { 
48         Class.forName(DRIVER_CLASS); 
49         Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); 
50         String sql = "{CALL pro_number(?,?,?)}"; //调用存储过程 
51         CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm 
52         cstm.setInt(1, 2); // 存储过程输入参数 
53         cstm.setInt(2, 2); // 存储过程输入参数 
54         cstm.registerOutParameter(3, Types.INTEGER); // 设置返回值类型 即返回值 
55         cstm.execute(); // 执行存储过程 
56         System.out.println(cstm.getInt(3)); 
57         cstm.close(); 
58         connection.close(); 
59          
60     } 
61 } 

 

转载于:https://www.cnblogs.com/kuangwong/p/6263954.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值