SQL server 创建存储过程

一、基本语句,剩下的自己组合。

 

ALTER proc getStudentNum(@param nvarchar(50),@StuNum int output)

as

select @StuNum=count(*)
from BASE_LOG_INFO
where CREATEOPER=@param

1、语句结构,上面那个就是

 

 

 

 

 

2、写参数测试

 

 

3、结果

 

二、Java调用

 

import java.sql.*;

public Map getEventComplete(HttpServletRequest request) {
        String orgid = StringUtil.getStringValue(map.get("orgid"));
        Map<String,Object> resultMap = new HashMap<>();
        //查询事件上报总数
        Map<String, ?> stringMap = new ExtendEvent(RequestUtil.getMap(request)).countEventNum();
        Map<String,String> yblMap = new HashMap<>();
        Object data = stringMap.get("data");
        Object total = ((HashMap) ((ArrayList) data).get(0)).get("total");


        //数据库等配置
        String username = PropertyUtil.getPropertyValue("jdbc.properties", "jdbc.username");
        String password = PropertyUtil.getPropertyValue("jdbc.properties", "jdbc.password");
        String url = PropertyUtil.getPropertyValue("jdbc.properties", "jdbc.url");
        String driver = PropertyUtil.getPropertyValue("jdbc.properties", "jdbc.driverClassName");

        Connection dbConn = null;
        CallableStatement stmt = null;
        try {
            //开始调用调用存储过程
            Class.forName(driver);
            dbConn = DriverManager.getConnection(url, username, password);
            //所有的输入+输出参数。
            String call= "{call bigscreen_eventfulfil_ybj(?,?,?,?)}; ";
            stmt = dbConn.prepareCall(call);// 调用存储过程
            //写参数下标,从1开始,一共四个参数
            stmt.setString(1,orgid);
            stmt.registerOutParameter(2,Types.VARCHAR); //声明输出参数是什么类型的
            stmt.registerOutParameter(3,Types.VARCHAR); //声明输出参数是什么类型的
            stmt.registerOutParameter(4,Types.VARCHAR); //声明输出参数是什么类型的
            stmt.execute();
            String today_num=stmt.getString(2); //获得输出参数2
            String week_num=stmt.getString(3);//获得输出参数3
            String month_num=stmt.getString(4);//获得输出参数4

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        //关闭
        finally {

            try {
                if(stmt!=null){ stmt.close();}
                if(dbConn!=null){dbConn.close();}
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }


        //事件上报总数
        resultMap.put("eventTotal",total);
        return resultMap;
    }

 

posted @ 2020-12-08 11:15  雁书几封  阅读(965)  评论(0编辑  收藏  举报