亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JDBCTemplate調用存儲過程

2019-11-11 04:29:27
字體:
來源:轉載
供稿:網友
一、調用無返回值的存儲過程
public class callPRocedure {        private JdbcTemplate jdbcTemplate;        public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {        this.jdbcTemplate = jdbcTemplate;        }        public void test(){           this.jdbcTemplate.execute("{call procedureName (?)}");        }      } 二、調用有返回值的存儲過程(不是結果集)
public class test {            /**       * 調用無參的存儲過程(有返回值)       * @return       */      public static int callProcedure() {            String str = (String)jdbcTemplate.execute(new CallableStatementCreator(){                  @Override                  public CallableStatement createCallableStatement(Connection connection) {                        String procedure = "{call PRC_BJ_SYNC_CIRCUIT_DATA_INCRE (?)}";//存儲過程                        CallableStatement cs = null;//創建存儲過程的對象                        try {                              cs = connection.prepareCall(procedure);                              cs.registerOutParameter(1,OracleTypes.VARCHAR);//注冊輸出參數的類型                        } catch (Exception e) {                              logger.error("call procedure error : " + e);                        }                        return cs;                  }            }, new CallableStatementCallback(){                  @Override                  public Object doInCallableStatement(CallableStatement cs) {                        String CSStr = null;                        try {                              cs.execute();                              csStr = cs.getString(1);//獲取輸出參數的值                        } catch (Exception e) {                              logger.error("call procedure error : " + e);                        }                        return csStr;//獲取輸出參數的值                  }});            return Integer.parseInt(str);      }            /**       * 調用有參的存儲過程(有返回值)       * @return       */      public static int callProcedure() {            String str = (String)jdbcTemplate.execute(new CallableStatementCreator(){                  @Override                  public CallableStatement createCallableStatement(Connection connection) {                        String procedure = "{call PRC_BJ_SYNC_CIRCUIT_DATA_INCRE (?,?)}";//存儲過程                        CallableStatement cs = null;//創建存儲過程的對象                        try {                              cs = connection.prepareCall(procedure);                              cs.setString(1,"value1");//設置入參的值                              cs.registerOutParameter(1,OracleTypes.VARCHAR);//注冊輸出參數的類型                        } catch (Exception e) {                              logger.error("call procedure error : " + e);                        }                        return cs;                  }            }, new CallableStatementCallback(){                  @Override                  public Object doInCallableStatement(CallableStatement cs) {                        String csStr = null;                        try {                              cs.execute();                              csStr = cs.getString(2);//獲取輸出參數的值                        } catch (Exception e) {                              logger.error("call procedure error : " + e);                        }                        return csStr;//獲取輸出參數的值                  }});            return Integer.parseInt(str);      }}三、調用有返回值的存儲過程(是結果集)
public class test {             List resultList = (List) jdbcTemplate.execute(                 new CallableStatementCreator() {                    public CallableStatement createCallableStatement(Connection con) throws SQLException {                       String storedProc = "{call PRC_BJ_SYNC_CUST_DATA(?,?)}";// 調用的sql                       CallableStatement cs = con.prepareCall(storedProc);                       cs.setString(1, "p1");// 設置輸入參數的值                       cs.registerOutParameter(2, OracleTypes.CURSOR);// 注冊輸出參數的類型                       return cs;                    }                 }, new CallableStatementCallback() {                    public Object doInCallableStatement(CallableStatement cs) throws SQLException,DataaccessException {                       List resultsMap = new ArrayList();                       cs.execute();                       ResultSet rs = (ResultSet) cs.getObject(2);// 獲取游標一行的值                       while (rs.next()) {// 轉換每行的返回值到Map中                          Map rowMap = new HashMap();                          rowMap.put("id", rs.getString("id"));                          rowMap.put("name", rs.getString("name"));                          resultsMap.add(rowMap);                       }                       rs.close();                       return resultsMap;                    }              });          for (int i = 0; i < resultList.size(); i++) {             Map rowMap = (Map) resultList.get(i);             String id = rowMap.get("id").toString();             String name = rowMap.get("name").toString();             System.out.println("id=" + id + ";name=" + name);          }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩日本欧美亚洲| 精品一区二区电影| 一区二区欧美日韩视频| 国产精品嫩草影院久久久| 国产国产精品人在线视| 久久精品中文字幕| 国产成人精品日本亚洲| 少妇激情综合网| 亚洲色图15p| 久久夜色撩人精品| 福利二区91精品bt7086| 久久久噜久噜久久综合| 日本不卡视频在线播放| 亚洲国产精品va在线观看黑人| 性欧美xxxx交| 日韩视频免费在线观看| 国产亚洲免费的视频看| 国产精品视频免费在线观看| 成人免费视频网址| 欧美在线视频一区二区| 日韩成人av网址| 国产精品一区二区三区成人| 欧美日韩国产精品专区| 亚洲欧美综合另类中字| 欧美激情2020午夜免费观看| 欧美在线免费观看| 欧美性色19p| 亚洲va欧美va国产综合久久| 在线播放国产一区中文字幕剧情欧美| 国产精品白丝av嫩草影院| 动漫精品一区二区| 日韩成人av一区| 欧美性xxxxxxxxx| 亚洲精品第一国产综合精品| 国产精品久久久久av免费| 欧日韩在线观看| 精品久久久久久| 欧美激情亚洲精品| 日韩在线观看精品| 日韩成人久久久| 亚洲精品视频在线观看视频| 国产精品美乳一区二区免费| 国产成人精品在线视频| 日韩精品在线影院| 久久精品国产2020观看福利| 992tv成人免费影院| 色樱桃影院亚洲精品影院| 久久天堂av综合合色| 亚洲视频欧洲视频| 欧美激情一级精品国产| 亚洲精品自在久久| 91免费版网站入口| 91在线高清视频| 欧美性xxxxx| 日韩美女视频中文字幕| 久久久精品电影| 久久精品国产亚洲| 国产精品狼人色视频一区| 久久激情视频久久| 国产久一一精品| 日韩电视剧在线观看免费网站| 7777kkkk成人观看| 亚洲视频精品在线| 国产在线播放不卡| 免费成人高清视频| 亚洲区中文字幕| 日韩av免费看网站| 成年无码av片在线| 国产精品久久久久不卡| 欧美夜福利tv在线| 亚洲精品国产精品乱码不99按摩| 欧美日韩国产综合视频在线观看中文| 亚洲精品国产精品乱码不99按摩| 亚洲精品网站在线播放gif| 欧美视频一二三| 欧美精品做受xxx性少妇| 久久影视电视剧免费网站清宫辞电视| 亚洲无亚洲人成网站77777| 成人中文字幕+乱码+中文字幕| 久久久久久国产免费| 91麻豆国产精品| 国产日韩欧美视频| 成人福利在线视频| 久久露脸国产精品| 亚洲欧洲成视频免费观看| 亚洲日本aⅴ片在线观看香蕉| 国产精品久久久久久久久久久不卡| 91视频国产一区| 亚洲欧美日韩国产中文专区| 欧美激情亚洲视频| 欧美亚洲午夜视频在线观看| 日韩电影中文 亚洲精品乱码| 精品久久香蕉国产线看观看gif| 久久香蕉国产线看观看网| 久久频这里精品99香蕉| 91啪国产在线| 国产97人人超碰caoprom| 8x海外华人永久免费日韩内陆视频| 一区三区二区视频| 日韩成人在线播放| 综合激情国产一区| 亚洲日本aⅴ片在线观看香蕉| 美女视频黄免费的亚洲男人天堂| 这里只有精品久久| 国产精品亚洲自拍| 欧美在线影院在线视频| 国产情人节一区| 91精品国产高清久久久久久| 亚洲国产女人aaa毛片在线| 久久精品国产免费观看| 精品国产一区二区三区久久久| 亚洲精品美女在线观看| 福利精品视频在线| 国产在线精品成人一区二区三区| 亚洲欧洲一区二区三区久久| 久久影视电视剧免费网站| 久久久视频免费观看| 国内揄拍国内精品少妇国语| 欧美激情第三页| 国产97免费视| 日韩中文字幕久久| 亚洲精品日韩激情在线电影| 久久精品99久久香蕉国产色戒| 性欧美xxxx视频在线观看| 国产免费成人av| 97色在线观看免费视频| 黄色精品在线看| 久久久精品2019中文字幕神马| 欧美一级高清免费播放| 欧美高跟鞋交xxxxxhd| 综合国产在线视频| 成人黄色在线播放| 欧美激情日韩图片| 欧美一级视频一区二区| 欧美精品激情在线| 北条麻妃一区二区三区中文字幕| 久久成人精品视频| 亚洲片在线资源| 北条麻妃一区二区三区中文字幕| 欧美日韩国产二区| 日韩在线视频免费观看| 精品国产一区二区三区久久狼5月| 国内精品久久久久久久| 国产亚洲精品激情久久| 久久久久久久影视| 成人福利视频网| 国语自产精品视频在线看抢先版图片| 久久久久亚洲精品成人网小说| 日韩在线免费视频| 九九热视频这里只有精品| 国产精品美女www爽爽爽视频| 亚洲天堂av女优| 韩国三级日本三级少妇99| 国产精品国产自产拍高清av水多| 91日韩在线播放| 亚洲精品av在线| 欧美成人精品h版在线观看| 欧美精品国产精品日韩精品| 国产成人涩涩涩视频在线观看| 欧美日韩一区免费| 国产精品黄色影片导航在线观看| 亚洲va国产va天堂va久久| 亚洲精品美女在线| 亚州国产精品久久久|