返回顶部

java 调用mysql存储过程

[复制链接]
lady-niuniuLv.2 显示全部楼层 发表于 2017-1-10 11:55:42 |阅读模式 打印 上一主题 下一主题

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
来源:http://www.open-open.com/code/view/1456844372750

  1. import java.sql.CallableStatement;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.Types;



  5. /*
  6. * 对应的存储过程
  7. DROP PROCEDURE IF EXISTS `pro_num_user`;
  8. delimiter ;;
  9. CREATE PROCEDURE `pro_num_user`(IN user_name varchar(10) ,OUT count_num INT)
  10.     READS SQL DATA
  11. BEGIN
  12.     SELECT COUNT(*) INTO count_num FROM tab_user WHERE 'name'=user_name;
  13. END
  14. ;;
  15. delimiter ;
  16. */
  17. public class Test {

  18.     public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
  19.     public static final String URL = "jdbc:mysql://127.0.0.1:3306/test";
  20.     public static final String USERNAME = "root";
  21.     public static final String PASSWORD = "acbee";
  22.     public static void main(String[] args) throws Exception {
  23.         test1();
  24.         test2();
  25.     }
  26.      
  27.     public static void test1() throws Exception
  28.     {
  29.         Class.forName(DRIVER_CLASS);
  30.         Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
  31.         String sql = "{CALL pro_num_user(?,?)}"; //调用存储过程
  32.         CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm
  33.         cstm.setString(1, "myd"); //存储过程输入参数
  34.         //cstm.setInt(2, 2); // 存储过程输入参数
  35.         cstm.registerOutParameter(2, Types.INTEGER); // 设置返回值类型 即返回值
  36.         cstm.execute(); // 执行存储过程
  37.         System.out.println(cstm.getInt(2));
  38.         cstm.close();
  39.         connection.close();
  40.     }
  41.      
  42.     public static void test2() throws Exception
  43.     {
  44.         Class.forName(DRIVER_CLASS);
  45.         Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
  46.         String sql = "{CALL pro_number(?,?,?)}"; //调用存储过程
  47.         CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm
  48.         cstm.setInt(1, 2); // 存储过程输入参数
  49.         cstm.setInt(2, 2); // 存储过程输入参数
  50.         cstm.registerOutParameter(3, Types.INTEGER); // 设置返回值类型 即返回值
  51.         cstm.execute(); // 执行存储过程
  52.         System.out.println(cstm.getInt(3));
  53.         cstm.close();
  54.         connection.close();
  55.          
  56.     }
  57. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

云萌主 云萌主-BIGSAAS旗下,由北京合智互联信息技术有限公司在2018年创立,为广大云应用技术爱好者的平台。在云萌主论坛可以查看云应用技术文章、云产品产品最新资讯、技术问答、技术视频。在畅游云上技术的同时,学到最新的云应用产品和技术。
  • 微信公众号

  • Powered by Discuz! X3.5 | Licensed | Copyright © 2001-2022, Aliyun Cloud. | 星点互联设计
  • 京ICP备18052714号 | 营业执照 | |合智互联| QQ