PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the...
Transcript of PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the...
![Page 1: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/1.jpg)
By Mrs. B.A.Khivsara
Assistant Professor,
Department Of computer Engineering
SNJB’s Late Sau KBJ COE, Chandwad
–
PL-I Group A: Assignment No 1 1
Java DataBase Connectivity and
MySQL Procedure call
![Page 2: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/2.jpg)
What is JDBC?
2
“An API that lets you access
virtually any tabular data source
from the Java programming
language”
![Page 3: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/3.jpg)
14-3
JDBC Driver Types
![Page 4: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/4.jpg)
14-4
JDBC Components
![Page 5: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/5.jpg)
Basic steps to use a database in
Java
5
1.Establish a connection
2.Create JDBC Statements
3.Execute SQL Statements
4.GET ResultSet
5.Close connections
![Page 6: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/6.jpg)
1. Establish a connection
6
import java.sql.*;
Load driver
• Class.forName("oracle.jdbc.driver.OracleDriver");
Make the connection• Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/DatabaseName","username"," passwd ",);
![Page 7: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/7.jpg)
2. Create JDBC statement(s)
7
Statement stmt = con.createStatement() ;
Creates a Statement object for sending SQL statements to the database
![Page 8: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/8.jpg)
Executing SQL Statements
8
String sql = “INSERT INTO t1 VALUES (‘abc’,21)";
stmt.executeUpdate(sql);
executeUpdate – for insert, update and delete queries
![Page 9: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/9.jpg)
Get ResultSet (SELECT Query)
9
String sql = "SELECT name, age FROM t1";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {String name1 = rs.getString("NAME");
int age1 = rs.getInt(“AGE");}
![Page 10: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/10.jpg)
Close connection
10
stmt.close();
con.close();
![Page 11: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/11.jpg)
Sample program
11
import java.sql.*;
public class MySQLProcedure {
public static void main(String[] args) {
try{
Class.forName("com.mysql.jdbc.Driver");
Connection c = DriverManager.getConnection
("jdbc:mysql://localhost:3306/db1","root",”");
Statement sm = c.createStatement();
String sql = "SELECT name, age FROM t1";
ResultSet rs = sm.executeQuery(sql);
![Page 12: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/12.jpg)
Sample program(cont)
12
while(rs.next()){
String first = rs.getString("name");
int age = rs.getInt("age");
System.out.print("name " + first);
System.out.println(", Age: " + age);
}
}
catch(Exception ee)
{
System.out.println(ee);
}
}
}
![Page 13: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/13.jpg)
MySQL Procedure Example
Mysql> Delimiter $
Mysql> Create procedure P1 (In name1
varchar(20),Out age1 int)
begin
select age into age1 from t1 where
name=name1;
end;
$
Mysql> Delimiter ;
Mysql>call P1 („aaa‟,@age1);
Mysql> Select @age1;13
![Page 14: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/14.jpg)
Callable statement in Java
A CallableStatement object provides a way to call
stored procedures
The syntax for invoking a stored procedure in JDBC is shown below.
{call procedure_name(?, ?, ...)}
14
![Page 15: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/15.jpg)
Callable statement in Java
Creating a CallableStatement Object
CallableStatement cs = con.prepareCall( "{call P1(?, ?)}");
IN and OUT Parameters
Passing in any IN parameter values to a CallableStatementobject is done using the setXXX methods
Eg. cs.setString(1, “aaa");
15
![Page 16: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/16.jpg)
Callable statement in Java
If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must be registered
Registering the SQL type is done with the method registerOutParameter
cs.registerOutParameter
(2, java.sql.Types.INTEGER);
16
![Page 17: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/17.jpg)
Callable statement in Java
Then after the statement has been executed
Eg. cs.executeUpdate();
CallableStatement's getXXX methods retrieve the parameter value
Eg. int age1 = cs.getInt(2);
17
![Page 18: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/18.jpg)
Example of Callable statement in java
import java.sql.*;
public class MySQLProcedure {
public static void main(String[] args) {
CallableStatement cs = null;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection c =
DriverManager.getConnection
("jdbc:mysql://localhost:3306/db1","root","root");
18
![Page 19: PL-I Group A: Assignment No 1 1 Java DataBase Connectivity ......Callable statement in Java If the stored procedure returns OUT parameters, the SQL type of each OUT parameter must](https://reader033.fdocuments.in/reader033/viewer/2022060822/609ac346df51dc26af4d864a/html5/thumbnails/19.jpg)
Example of Callable statement in java
cs = c.prepareCall("{call p1(?,?)}");
cs.setString(1, "bb");
cs.registerOutParameter(2, java.sql.Types.INTEGER);
cs.executeUpdate();
int age1 = cs.getInt(2); // return value
System.out.println(age1);
}
catch(Exception ee)
{
System.out.println(ee);
}
}
}19