java调用mysql存储过程并接收输出参数

核心代码


Class.forName("com.mysql.jdbc.Driver");

        String ip = PropReader.getProperties("mysql_ip");

        int port = Integer.parseInt(PropReader.getProperties("mysql_port"));

        String serviceName = PropReader.getProperties("mysql_db");

        String username = PropReader.getProperties("mysql_username");

        String password = PropReader.getProperties("mysql_password");

        conn = DriverManager.getConnection("jdbc:mysql://" + ip + ":" + port
                + "/" + serviceName, username, password);

//我这里需要锁表所以加上
String sql = "lock tables tabletest WRITE ";

        PreparedStatement pstmt = conn.prepareStatement(sql);
        pstmt.executeQuery();


        CallableStatement callstatement = conn.prepareCall("call go_apply_man(?,?,?,?,?,?)");

        callstatement.setString(1,"Hadoop");
        callstatement.setString(2,"mysql");
        callstatement.setInt(3,15);
        callstatement.registerOutParameter(4,Types.INTEGER);
        callstatement.registerOutParameter(5,Types.INTEGER);
        callstatement.registerOutParameter(6,Types.VARCHAR);
        callstatement.execute();

        int startNum = callstatement.getInt(1);
        int endNum = callstatement.getInt(2);

猜你喜欢

转载自zxp209.iteye.com/blog/2312630