0% found this document useful (0 votes)
22 views52 pages

Java Partie 3 - 4

This document discusses exceptions and database connections in Java programming. It covers: 1. Exceptions in Java and how to handle them. 2. Connecting to databases using JDBC, including the six steps: loading the driver, establishing the connection, creating a statement object, executing queries, processing results, and closing the connection. 3. Key aspects of working with JDBC drivers, connection URLs, statements, result sets, and managing connections. It provides examples for connecting to MySQL and processing query results using JDBC. The document is intended to teach programmers how to integrate databases into Java applications using the JDBC API.

Uploaded by

Ahmad Belkadi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
22 views52 pages

Java Partie 3 - 4

This document discusses exceptions and database connections in Java programming. It covers: 1. Exceptions in Java and how to handle them. 2. Connecting to databases using JDBC, including the six steps: loading the driver, establishing the connection, creating a statement object, executing queries, processing results, and closing the connection. 3. Key aspects of working with JDBC drivers, connection URLs, statements, result sets, and managing connections. It provides examples for connecting to MySQL and processing query results using JDBC. The document is intended to teach programmers how to integrate databases into Java applications using the JDBC API.

Uploaded by

Ahmad Belkadi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 52

DUT Génie Informatique

PROGRAMMATION ORIENTÉE OBJET


(JAVA)

Pr. Said BENKIRANE


2020/2021
Partie 3 et 4
Résumé :

 Les Exceptions
 Connexion aux Bases de données
Les Exceptions
Connexion aux bases de données

Introduction to JDBC

31
Road Map
• Introduction to JDBC/JDBC Drivers
• Overview: Six Steps to using JDBC
• Practice Example

32
Introduction to JDBC
• JDBC is a simple API for connecting from Java
applications to multiple databases.
• Lets you smoothly translate between the world
of the database, and the world of the Java
application.
• The idea of a universal database access API is
not a new one. For example, Open Database
Connectivity (ODBC) was developed to create a
single standard for database access in the
Windows environment.
• JDBC API aims to be as simple as possible while
33 providing developers with maximum flexibility.
Understanding JDBC Drivers
• To connect to a database, you first need a
JDBC Driver.
• JDBC Driver: set of classes that interface
with a specific database engine.

34
JDBC Drivers
• JDBC drivers exist for every major database
including: Oracle, SQL Server, Sybase, and
MySQL.
• For MySQL, we will be using the open source
MySQL Connector/J.
• http://www.mysql.com/downloads/api-
jdbc.html.

35
Installing the MySQL Driver
• To use the MySQL Connector/J Driver, you
need to download the complete distribution;
and
• Add the following JAR to your CLASSPATH:
– mysql-connector-java-x.x.x-stable-bin.jar

36
Six Steps to Using JDBC
1. Load the JDBC Driver
2. Establish the Database Connection
3. Create a Statement Object
4. Execute a Query
5. Process the Results
6. Close the Connection

37
1) Loading the JDBC Driver
• To use a JDBC driver, you must load the driver via the
Class.forName() method.
• In general, the code looks like this:
Class.forName("jdbc.DriverXYZ");
– where jbdc.DriverXYZ is the JDBC Driver you want
to load.
• If you are using a JDBC-ODBC Driver, your code will
look like this:
Class.forName("sun.jdbc.odbc.JdbcOd
bcDriver");
38
Loading the MySQL Driver
• If you are using the MySQL Driver, your code will look like this:
try {
Class.forName("com.mysql.jdbc.Driver");
} catch(java.lang.ClassNotFoundException e) {

System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
• Class.forName() will throw a ClassNotFoundException if
your CLASSPATH is not set up properly.
• Hence, it's a good idea to surround the forName() with a try/catch
block.

39
2) Establish the Connection
• Once you have loaded your JDBC driver, the
next step is to establish a database
connection.
• The following line of code illustrates the basic
idea:
Connection con =
DriverManager.getConnection(url,
"myLogin", "myPassword");

40
Creating a Connection URL
• The only difficulty in establishing a connection is
specifying the correct URL.
• In general, the URL has the following format:
jdbc:subprotocol:subname.
– JDBC indicates that this is a JDBC Connection (no mystery
there!)
– The subprotocol identifies the driver you want to use.
– The subname identifies the database name/location.

41
Connection URL: ODBC
• For example, the following code uses a JDBC-
ODBC bridge to connect to the local
database:
– String url = "jdbc:odbc:Fred";
– Connection con =
DriverManager.getConnection(url,
“username", "password");

42
Connection URL: MySQL
• Here's how you might connect to MySQL:
– String url =
"jdbc:mysql://localhost/webdb";
– Connection con =
DriverManager.getConnection(url);
• In this case, we are using the MySQL JDBC Driver to
connect to the webdb database, located on the
localhost machine.
• If this code executes successfully, we will have a
Connection object for communicating directly with the
database.

43
3) Create a Statement Object
• The JDBC Statement object sends SQL
statements to the database.
• Statement objects are created from active
Connection objects.
• For example:
– Statement stmt = con.createStatement();
• With a Statement object, you can issue SQL
calls directly to the database.

44
4) Execute a Query
• executeQuery()
– Executes the SQL query and returns the data in a table (ResultSet)
– The resulting table may be empty but never null
ResultSet results =
statement.executeQuery("SELECT a, b FROM table");
• executeUpdate()
– Used to execute for INSERT, UPDATE, or DELETE SQL statements
– The return is the number of rows that were affected in the database
– Supports Data Definition Language (DDL) statements CREATE TABLE,
DROP TABLE and ALTER TABLE

45
Useful Statement Methods
• getMaxRows/setMaxRows
– Determines the number of rows a ResultSet
may contain
– Unless explicitly set, the number of rows are
unlimited (return value of 0)

• getQueryTimeout/setQueryTimeout
– Specifies the amount of a time a driver will wait
for a STATEMENT to complete before throwing a
SQLException

46
5) Process the Results
• A ResultSet contains the results of the SQL query.
• Useful Methods
• All methods can throw a SQLException
– close
• Releases the JDBC and database resources
• The result set is automatically closed when the associated
Statement object executes a new query
– getMetaDataObject
• Returns a ResultSetMetaData object containing information
about the columns in the ResultSet

47
ResultSet (Continued)
• Useful Methods
– next
• Attempts to move to the next row in the ResultSet
– If successful true is returned; otherwise, false
– The first call to next positions the cursor a the first
row

48
ResultSet (Continued)
• Useful Methods
– findColumn
• Returns the corresponding integer value corresponding to the
specified column name
• Column numbers in the result set do not necessarily map to the
same column numbers in the database
– getXxx
• Returns the value from the column specified by column name or
column index as an Xxx Java type
• Returns 0 or null, if the value is a SQL NULL
• Legal getXxx types:

double byte int


Date String float
short long Time
Object
49
6) Close the Connection
• To close the database connection:
– stmt.close();
– connection.close();
• Note: Some application servers, such as BEA
WebLogic maintain a pool of database connections.
– This is much more efficient, as applications do not have
the overhead of constantly opening and closing database
connections.

50
Practice Example

51
FIN DE LA PARTIE 3 ET 4
RÉSUMÉE

You might also like