Advanced Java Chapter 3 - Database Connectivity
Advanced Java Chapter 3 - Database Connectivity
Connectivity
Pre-Knowledge 2
Table
Manipulating Table
Insert
Update
Select
Delete
Using Joins
Stored Procedures
Objectives 3
know how to use JDBC to execute SQL queries and how to handle the
results returned;
Overview 4
SELECT
SELECT **
FROM
FROM Product
Product “selection”
WHERE
WHERE category=‘Gadgets’
category=‘Gadgets’
FROM <table-names>
[WHERE <condition>]
[ORDER BY <column-list>]
[GROUP BY <column-list>]
[HAVING <condition>]
([]-
optional, | - or)
Advanced Programming Chapter Three:
Database Connectivity
9
Types 3 and 4:
Pure Java implementations and require no additional
software to be installed on the client, except for the
JDBC driver.
Fortunately, packaging the JDBC driver with your
software distribution is trivial.
Type 1: JDBC−ODBC bridges 16
This driver converts the JDBC protocol into the corresponding ODBC
and allows Java programmers to access databases for which there
are ODBC drivers.
Pros
Cons
A vendor−specific API must be installed on client
computer.
Not usable when deployment requires automatic
downloading and configuration of applications.
Type 3: JDBC−network 21
Cons
Middleware product or application server required.
May require additional configuration for Internet use.
Type 4: 100% Java 23
Pros
No additional client software required.
Direct communication with database server.
Cons
May require additional configuration for Internet use.
Adding Driver 25
Database Connectivity
Friday, October 25, 2024
Adding Driver in NetBeans
Loading JDBC Driver 27
Database Connectivity
Friday, October 25, 2024
Loading JDBC Driver Example
Access Loaded JDBC Driver 30
Database Connectivity
Friday, October 25, 2024
Step 2: Establishing
connection
Define Connection URL 32
JDBC URLs provide a way to identify a database.
Example
jdbc:mysql//hostname/databaseName
jdbc:oracle:thin@hostname:portnumber:databaseName
Some Popular JDBC URLS 33
MySQL jdbc:mysql://hostname/databaseName
Oracle jdbc:oracle:thin@hostname:portnumber:databaseName
JavaDB jdbc:derby://localhost:1527/databaseName
Access jdbc:odbc:databaseName
PostGreSQL jdbc:postgres://host/database
SQL Server jdbc:sqlserver://[serverName[\instanceName][:portNumber]]
[;property=value[;property=value]]
Establishing Connection with 34
JDBC
Database Connectivity
Friday, October 25, 2024
Driver Manager
Advanced Programming Chapter Three:
38
Database Connectivity
Friday, October 25, 2024
Step-3 and 4: Creating and
Executing Statement
Creating Statement 39
Syntax:
Prepared Statement 45
If parameters for the query are not set the driver returns an SQL
Exception
Database Connectivity
Friday, October 25, 2024
Data Types Mapping
Prepared Statement 48
Database Connectivity
Friday, October 25, 2024
Executing Prepared statement
(Execute Update)
Advanced Programming Chapter Three:
51
Database Connectivity
Friday, October 25, 2024
Executing Prepared statement
(execute Query)
Callable Statement interface 52
Designed to execute SQL-stored procedures.
Database Connectivity
Friday, October 25, 2024
Stored Procedures in MySQL
Example 1
Advanced Programming Chapter Three:
61
Database Connectivity
Friday, October 25, 2024
Stored Procedures in MySQL
Example 2
Advanced Programming Chapter Three:
62
Database Connectivity
Friday, October 25, 2024
Executing Callable Statement
Example
Advanced Programming Chapter Three:
63
Database Connectivity
Friday, October 25, 2024
Step-5: Processing Result
ResultSet 64
The SQL statements that read data from a database query, return
Database Connectivity
Friday, October 25, 2024
Example
Advanced Programming Chapter Three:
72
Database Connectivity
Friday, October 25, 2024
Step-6: Closing Connection
Closing Connection 73
Each machine has a limited number of connections
Answers
Database Connectivity
Friday, October 25, 2024
Creating Database MetaData
Creating DatabaseMetaData
…
ResultSet MetaData 77
String.
getColumnCount() Returns the number of columns in the result set.
Programming
Returns an int.
getColumnName(int n) Returns the name of a column at position n in the
Chapter
result set. Returns a String.
getColumnType(int n) Returns the JDBC data type for a column at position
Three:
n of the result set. Returns an int.
getColumnTypeName(int n) Provides the name of the column’s data type
Database Connectivity
Friday, October 25, 2024
Creating ResultSet MetaData
Advanced Programming Chapter Three:
79
Database Connectivity
Friday, October 25, 2024
End of Chapter 3