Computer Science [3] Java Programming II - Laboratory Course Lab 9: Accessing Databases with JDBC Instructions on Setting Accesses Connecting to and Querying a Database Faculty of Engineering & IT Software Engineering Department Eng.Omar Al-Nahal Eng.Omar Al-Nahal
b JDBC is a platform-independent Java API for executing SQL statements b Use JDBC to: Connect to a databaseConnect to a database Send SQL statementsSend SQL statements Receive resultsReceive results –i.e. rows of data Add or update existing rows of dataAdd or update existing rows of data JDBC Java program database JDBC
General Architecture b What design pattern is implied in this architecture?
JDBC Driver Manager
Basic steps to use a database in Java b 1.Establish a connection b 2.Create JDBC Statements b 3.Execute SQL Statements b 4.GET ResultSet b 5.Close connections
b Before connecting to a database, a driver class must first be loaded into the JVM b A driver is simply a class in Java Access: "sun.jdbc.odbc.JdbcOdbcDriver"Access: "sun.jdbc.odbc.JdbcOdbcDriver" MySQL: "com.mysql.jdbc.Driver"MySQL: "com.mysql.jdbc.Driver" Oracle: "oracle.jdbc.driver.OracleDriver"Oracle: "oracle.jdbc.driver.OracleDriver" b Oracle driver is located within a JAR file of the Oracle distribution JDBC Drivers
To load a driver, use the static forName() method of the java.lang.Class class: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); b For Oracle: Class.forName("oracle.jdbc.driver.OracleDriver"); Class.forName("oracle.jdbc.driver.OracleDriver"); JDBC Drivers
b Connect to a database using its connect string (i.e. its Connection URL): Access: "jdbc:odbc:dataSource"Access: "jdbc:odbc:dataSource" MySQL: "jdbc:mysql://hostname/dbname"MySQL: "jdbc:mysql://hostname/dbname" Oracle: Use a Connection object: Connection connection = DriverManager.getConnection( dbConnectURL ); Connection connection = DriverManager.getConnection( dbConnectURL ); JDBC Connection Strings
Sample Access Database
Using JDBC to Process Data
b Load the appropriate Oracle driver: Class.forName("oracle.jdbc.driver.OracleDriver"); Class.forName("oracle.jdbc.driver.OracleDriver"); b Connect to an Oracle database using the appropriate Oracle connect string : Connecting to Oracle via JDBC
b Always do your best to be sure queries are database-independent b Consider using property files to maintain database connectivity information Refer to the java.util.Properties classRefer to the java.util.Properties class Connecting to Oracle via JDBC
JDBC JDBC Data Access API – JDBC Technology Homepage JDBC Database Access – The Java Tutorial b JDBC Documentation b java.sql package b JDBC Technology Guide: Getting Started b JDBC API Tutorial and Reference (book)