zoukankan      html  css  js  c++  java
  • java调用存储过程

    /**
     * @Auther: zml
     * @Date: 2018/6/8
     */
    
    import org.springframework.jdbc.core.CallableStatementCallback;
    import org.springframework.jdbc.core.CallableStatementCreator;
    import org.springframework.jdbc.core.JdbcTemplate;
    
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Types;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * @Auther: zml
     * @Date: 2018/6/8
     */
    public class Test {
    
        private JdbcTemplate jdbcTemplate;
    
        public JdbcTemplate getJdbcTemplate() {
            return jdbcTemplate;
        }
    
        public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
            this.jdbcTemplate = jdbcTemplate;
        }
    
    
        //调用存储过程,一个输入参数,三个输出
        public List<String> callPro(String str){
            //final String str = str.toString();
            List<String> resList = (List)jdbcTemplate.execute(
                new CallableStatementCreator(){
                    @Override
                    public CallableStatement createCallableStatement(Connection connection) throws SQLException {
    
                        String storedPro = "{call KPI.CHECK_SITUATION(?,?,?,?)}";
                        CallableStatement cs = connection.prepareCall(storedPro);
                        cs.setString(1, str);
                        //输出参数类型
                        cs.registerOutParameter(2, Types.INTEGER);
                        cs.registerOutParameter(3, Types.VARCHAR);
                        cs.registerOutParameter(4, Types.VARCHAR);
                        return cs;
                    }
    
                },(cs)->{
                        cs.execute();
                        List<String> list = new ArrayList<String>();
                        list.add(cs.getInt(2)+"");
                        list.add(cs.getString(3));
                        list.add(cs.getString(4));
                        return list ;
    
                }
            );
            return resList;
        }
    
    
    
        public static void xxmain(String[] args){
            Test t = new Test();
            //调用存储过程,传一个空的字符串
            t.callPro("");
    
        }
    }
  • 相关阅读:
    linux学习笔记28--监控命令vmstat,iostat, lsof
    linux学习笔记27--监控命令ps和top,free
    linux学习笔记26--命令wc
    linux学习笔记24---命令grep
    linux学习笔记23--时间命令date和cal
    linux学习笔记22---命令diff和diff3
    linux学习笔记22--命令ln
    Fiddler 抓取 ios 端数据包
    fiddler 清除证书+重新添加证书
    Fiddler 详尽教程与抓取移动端数据包
  • 原文地址:https://www.cnblogs.com/zml-java/p/9443947.html
Copyright © 2011-2022 走看看