国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

java—數據存儲過程 (54)

2019-11-15 00:01:19
字體:
來源:轉載
供稿:網友
java—數據存儲過程 (54)

存儲過程:PRocedure:就是一段可執行程序。這個程序運行在數據中。

Begin = {

End = }

If

Else

也可以接收參數。

1 定義一個procedure:

CREATE PROCEDURE proc1()BEGIN  ――{  SELECT * FROM users;END // ―― }DELIMITER ;CALL proc1();

2定義一個接收參數的:

DELIMITER $$CREATE PROCEDURE proc2(IN _id VARCHAR(32),IN _nm VARCHAR(30))BEGIN  INSERT INTO users(id,NAME) VALUES(_id,_nm);END $$CALL proc2('U003','Rose');

3定義一個返回類型的參數:

DELIMITER $$CREATE PROCEDURE proc3(IN _id VARCHAR(32),IN _nm VARCHAR(30),OUT _size INT)BEGIN  INSERT INTO users(id,NAME) VALUES(_id,_nm);  SELECT COUNT(1) INTO _size FROM users;  IF(_size=10) THEN     INSERT INTO users VALUES('U0000','ddd','ddddd');  END IF;END $$CALL proc3('U002882','Rose',@wj);SELECT @wj;

在Java代碼中調用Procedure

package cn.hx.demo;

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Types;

import org.junit.Test;

import cn.itcast.utils.DataSourceUtils;

public class ProceDemo {

@Test

public void proc1() throws Exception{

//dbutils不提供調用存儲過程的能力

Connection con = DataSourceUtils.getDatasSource().getConnection();

//獲取調用過程的對象

CallableStatement cs =

con.prepareCall("{call proc1()}");

//執行

boolean boo = cs.execute();//如果返回true,指最后一句執行的是select語句

if(boo){

ResultSet rs = cs.getResultSet();

while(rs.next()){

System.err.println(rs.getString("name"));

}

}

con.close();

}

@Test

public void proc2() throws Exception{

Connection con = DataSourceUtils.getDatasSource().getConnection();

//獲取調用過程的對象

CallableStatement cs =

con.prepareCall("{call proc2(?,?)}");

cs.setString(1,"UAAA");

cs.setString(2, "11");

boolean boo = cs.execute();

System.err.println(boo);

con.close();

}

@Test

public void proc3() throws Exception{

Connection con = DataSourceUtils.getDatasSource().getConnection();

//獲取調用過程的對象

CallableStatement cs =

con.prepareCall("{call proc5(?,?,?)}");

cs.setString(1,"UBDDB");

cs.setString(2, "張三");

cs.registerOutParameter(3,Types.INTEGER);//--int,

boolean boo = cs.execute();

System.err.println(">>:"+boo);//true

//從call中獲取返回的值

int size = cs.getInt(3);

System.err.println("行數:"+size);

if(boo){

ResultSet rs= cs.getResultSet();

rs.next();

int ss = rs.getInt(1);

System.err.println("sss:"+ss);

}

con.close();

}

@Test

public void proc6() throws Exception{

Connection con = DataSourceUtils.getDatasSource().getConnection();

//獲取調用過程的對象

CallableStatement cs =

con.prepareCall("{call proc6(?,?,?,?)}");

cs.setString(1,"UBafadsB");

cs.setString(2, "張三");

cs.registerOutParameter(3,Types.INTEGER);//--int,

cs.registerOutParameter(4, Types.INTEGER);

boolean boo = cs.execute();

System.err.println(">>:"+boo);//faluse

//從call中獲取返回的值

int size = cs.getInt(3);

int _s = cs.getInt(4);

System.err.println("行數:"+size+","+_s);

con.close();

}

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河北区| 富源县| 乳源| 施秉县| 永清县| 灵山县| 博爱县| 曲麻莱县| 宾川县| 峨山| 武川县| 清苑县| 东城区| 澳门| 牙克石市| 中方县| 资中县| 安庆市| 洪泽县| 墨江| 虹口区| 白银市| 会宁县| 多伦县| 逊克县| 金寨县| 温州市| 昭通市| 陵水| 万荣县| 巨鹿县| 喀喇| 芜湖市| 云和县| 子洲县| 乌兰察布市| 长岛县| 扶绥县| 宜兰市| 湟中县| 通海县|