马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
来源:http://www.open-open.com/code/view/1456844372750
- import java.sql.CallableStatement;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.Types;
- /*
- * 对应的存储过程
- DROP PROCEDURE IF EXISTS `pro_num_user`;
- delimiter ;;
- CREATE PROCEDURE `pro_num_user`(IN user_name varchar(10) ,OUT count_num INT)
- READS SQL DATA
- BEGIN
- SELECT COUNT(*) INTO count_num FROM tab_user WHERE 'name'=user_name;
- END
- ;;
- delimiter ;
- */
- public class Test {
- public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
- public static final String URL = "jdbc:mysql://127.0.0.1:3306/test";
- public static final String USERNAME = "root";
- public static final String PASSWORD = "acbee";
- public static void main(String[] args) throws Exception {
- test1();
- test2();
- }
-
- public static void test1() throws Exception
- {
- Class.forName(DRIVER_CLASS);
- Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
- String sql = "{CALL pro_num_user(?,?)}"; //调用存储过程
- CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm
- cstm.setString(1, "myd"); //存储过程输入参数
- //cstm.setInt(2, 2); // 存储过程输入参数
- cstm.registerOutParameter(2, Types.INTEGER); // 设置返回值类型 即返回值
- cstm.execute(); // 执行存储过程
- System.out.println(cstm.getInt(2));
- cstm.close();
- connection.close();
- }
-
- public static void test2() throws Exception
- {
- Class.forName(DRIVER_CLASS);
- Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
- String sql = "{CALL pro_number(?,?,?)}"; //调用存储过程
- CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm
- cstm.setInt(1, 2); // 存储过程输入参数
- cstm.setInt(2, 2); // 存储过程输入参数
- cstm.registerOutParameter(3, Types.INTEGER); // 设置返回值类型 即返回值
- cstm.execute(); // 执行存储过程
- System.out.println(cstm.getInt(3));
- cstm.close();
- connection.close();
-
- }
- }
复制代码
|