国产探花免费观看_亚洲丰满少妇自慰呻吟_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();

}

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 项城市| 道孚县| 波密县| 新邵县| 新野县| 澎湖县| 鱼台县| 邳州市| 广汉市| 永宁县| 汽车| 双城市| 石渠县| 萨嘎县| 横峰县| 罗定市| 南乐县| 资溪县| 玉山县| 宕昌县| 兴山县| 开封市| 鸡东县| 阿勒泰市| 文山县| 岳阳县| 西昌市| 新竹县| 娱乐| 湘潭县| 广平县| 应城市| 枣阳市| 宣恩县| 鹤壁市| 商河县| 临泽县| 武隆县| 分宜县| 化隆| 安顺市|