Professional Documents
Culture Documents
Development Paradigm
Advance OO Programming
BSCS Semester 6
MCS 3
Course Instructor: Ms. Iram
JDBC
The JDBC ( Java Database Connectivity)
An API that defines interfaces and classes for
writing database applications in Java by
making database connections.
Works with almost any relational database.
JDBC is a Java API for executing SQL
statements and supports basic SQL
functionality.
JDBC Architecture
JDBC Basics
import java.sql.*;
Steps
1. Loading a database driver
2. Creating a jdbc Connection
3. Creating a jdbc Statement object
4. Executing a SQL statement with the Statement
object, and returning a jdbc resultSet
5. Extract data from result set
6. Clean-up environment
Sqlserver =
com.microsoft.jdbc.sqlserver.SQLServerDriver
Apache Derby = org.apache.derby.jdbc.ClientDriver
MS-Access (32 bit) = sun.jdbc.odbc.JdbcOdbcDriver
MS-Access (64 bit) =
Provider=Microsoft.ACE.OLEDB.12.0 http://
www.microsoft.com/downloads/details.aspx?Family
ID=C06B8369-60DD-4B64-A44B-84B371EDE16D&displa
lang=en
DB Connection URL
Samples
General format:
jdbc:sqlserver://server:port;DatabaseName=dbna
me
mysql = jdbc:mysql://localhost/dbname
Sql server =
jdbc:microsoft:sqlserver://localhost:1433;databa
seName=dbname
ms access = jdbc:odbc:Emp
Derby = jdbc:derby://localhost:1527/DBname
try{
static final String DBDriver = DB Driver string;
static final String DBCon = DB connection string;
String sqlQuery = "SELECT id, first, last, age FROM Employees";
Class.forName(DB driver string path); // load driver
Connection dbCon =
DriverManager.getConnection(DBcon,loginName,Password) ; // get
connection
Statement stmt = dbCon.createStatement(); // create statement
ResultSet rs = stmt.executeQuery(sqlQuery); // create result set
while(rs.next() ) {
//Retrieve data from result set
}
rs.close();
// close result set
stmt.close();
// close db statement
dbCon.close();
// close db connection
}
catch(SQLException se)
//Handle errors for JDBC
{
se.printStackTrace();
}
catch(Exception e)
//Handle errors for Class.forName
{
e.printStackTrace();
}
finally{
//finally block used to close resources
if(stmt!=null)
stmt.close();
if(dbCon!=null)
conn.close();
Statement:
Execute simple sql queries without parameters.
Syntax : Statement createStatement()
Prepared Statement:
Execute precompiled sql queries with or without
parameters.
Syntax : PreparedStatement
prepareStatement(String sql)
Callable Statement:
Execute a call to a database stored procedure.
Syntax : CallableStatement prepareCall(String sql)
Statement
Use for general-purpose access to your database.
Execute simple sql queries without parameters.
you can then use it to execute a SQL statement with one of
its three execute methods.
Syntax :
stmt = conn.createStatement( );
stmt.close();
you can then use it to execute a SQL statement with one of its three
execute methods.
boolean execute(String SQL) :
Use this method to execute SQL DDL statements or when you need
to use truly dynamic SQL.
int executeUpdate(String SQL) :
Use this method to execute SQL statements for which you expect
to get a number of rows affected - for example, an INSERT,
UPDATE, or DELETE statement.
ResultSet executeQuery(String SQL) :
Returns a ResultSet object. Use this method when you expect to
get a result set, as you would with a SELECT statement.
Statement stmt =
connection.createStatement( ResultSet.TYPE_S
CROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
Create Statement
Arguments
The first argument in CreateStatement indicates the type of
the ResultSet object :
TYPE_FORWARD_ONLY: The ResultSet will only allow the cursor to go forward.
TYPE_ SCROLL_INSENSITIVE: The cursor can scroll forwards and
backwards, and the result set is not sensitive to changes made by others
to the database that occur after the result set was created.
TYPE_SCROLL_SENSITIVE: The cursor can scroll forwards and
backwards, and the result set is sensitive to changes made by others to
the database that occur after the result set was created.