何圆
管理员
管理员
  • UID3
  • 粉丝18
  • 关注6
  • 发帖数291
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:12551回复:0

JDBC调用存储过程

楼主#
更多 发布于:2016-06-07 19:06
package demo.sp;
    
import java.sql.*;  
    
import com.mysql.jdbc.MysqlDefs;
public class T   
{  
    public static void main(String args[]) throws Exception  
    {  
        //加载驱动  
        DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());  
        //Class.forName("com.mysql.jdbc.Driver");
        //获得连接  
        Connection conn=DriverManager.getConnection("jdbc:mysql://172.18.100.20:3306/jfids","root","jfids");  
             
        //创建存储过程的对象  
        CallableStatement c=conn.prepareCall("{call ajaxCallProcedure(?,?)}");  
        //给存储过程的第一个参数设置输入值
        c.setString(1, "@s");
        //给存储过程的第二个参数设置输入值
        c.setString(2, "admin");
        //注册输出参数
        c.registerOutParameter(1,java.sql.Types.INTEGER);  
        //执行存储过程 
        c.execute();       
        //得到存储过程的输出参数值  
        System.out.println (c.getInt(1));  
        conn.close();  
    }  
}


存储过程:


BEGIN
    #Routine body goes here...
  
 set @v_sql= concat("select count(*)  INTO  @s from demo_bill WHERE billuser like '%",bu,"%'" ); 
  
 PREPARE mysql FROM @v_sql;
  EXECUTE mysql;
  DEALLOCATE PREPARE mysql;  
SET s = @s;
END
从存储过程上看第一个参数为输出参数

最新喜欢:

詹强詹强 周进周进 何万里何万里
游客

返回顶部