存储过程 mysqlDELIMITER //
CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(IN deid VARCHAR(20),OUT NAME VARCHAR(25))
BEGIN
SELECT uname,upwd INTO NAME FROM fu_white_user WHERE dessid = deid LIMIT 1;
END //====================================================================================
java 类调用
public void query(String desttermid){
System.out.println(desttermid);
Connection con = ConnectionManager.getConnection();
    CallableStatement stmt = null;
    ResultSet rs=null;
    try{
     stmt = con.prepareCall("{call p4(?,?,?)}");
     stmt.setString(1, desttermid);
            stmt.registerOutParameter(2, java.sql.Types.VARCHAR); //指定输出类型
            stmt.registerOutParameter(3, java.sql.Types.VARCHAR); //指定输出类型
           stmt.execute();
            String name=stmt.getString(2);
            String re=stmt.getString(3);
            System.out.println("name="+name+"\t"+"re="+re);=====================================================================================啥时候使用这中方式呢 select语句 咋写 举个例子白  我有些分不清 楚了public void query(){
Connection con = ConnectionManager.getConnection();
    CallableStatement stmt = null;
    ResultSet rs=null;
    try{
     stmt = con.prepareCall("{call demoSp(?)}");
            stmt.registerOutParameter(1, java.sql.Types.VARCHAR); //指定输出类型
            boolean hasResultSet = stmt.execute();
            while(hasResultSet){
             rs = stmt.getResultSet();
             String a ="";
             String b="";
             String c="";
             while(rs.next()){
             a = rs.getString(1);
             b = rs.getString(2);
              c = rs.getString(3);
              
             }
            
             hasResultSet = stmt.getMoreResults();
              System.out.println("获得返回参数是"+a+","+b+","+c);