Introduction to JDBC Instructor: Mohamed Eltabakh 1
Ways to Access DB 2 Direct SQL PL/SQL External language connected to DB
What is JDBC JDBC: Java Database Connectivity JDBC is a standard interface for connecting to relational databases from Java 3 Java code DB
4 Overview of Querying a Database With JDBC
Stage 1: Connect 5
JDBC Driver 6 Database JDBC driver Java appDatabase JDBC calls Database commands JDBC driver Inside the code, you make calls using JDBC APIs Software module that translates JDBC calls to SQL commands
JDBC Driver Is an interpreter that translates JDBC method calls to vendor-specific database commands Implements interfaces in java.sql Can also provide a vendor ’ s extensions to the JDBC standard 7
How to Make the Connection 8 1.Register the driver. DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver()); Class.forName(“oracle.jdbc.driver.OracleDriver”); Or
How to Make the Connection 9 2. Connect to the DB Connection conn = DriverManager.getConnection (URL, userid, password); Connection conn = DriverManager.getConnection "userid", "password"); In our Oracle DB Your Oracle username and pw
10 Import java.sql package Register the driver Establish connection
Stage 2: Query the DB 11
JDBC Statement Object A Statement object sends your SQL command to the database You need an active connection to create a JDBC statement Statement has methods to execute a SQL statement: executeQuery() for QUERY statements executeUpdate() for INSERT, UPDATE, DELETE 12
How to Query the Database 13 Output relation Number of affected tuples The query string
Querying the Database: Example I 14
Querying the Database: Example II 15 Execute a select statement Statement stmt = conn.createStatement(); String str = "SELECT * FROM users”; Resultset rset = stmt.executeQuery(str); Build your SQL command in a separate string and then pass it for execution
Stage 3: Process Results 16
Resultset Object JDBC returns the results of a query in a ResultSet object. A ResultSet maintains a cursor pointing to its current row of data. Use next() to step through the result set row by row. getString(), getInt(), and so on assign each value to a Java variable. 17
How to Process Results 18
Example 19 Statement stmt = conn.createStatement(); String str = " SELECT branch_name, amount FROM R”; Resultset rset = stmt.executeQuery(str); While ( rset.next()) { String bName = rset.getString(“branch_name”); int amt = rset.getInt(“amount”); … System.out.println(”Name:” + bName + ” Amount: ” + amt); }
Getxxx Function over Resultset 20 And many more:
Stage 4: Closing 21
How to Close 22
JDBC PrepareStatement If execute the statement multiple times Use a PrepareStatement object It is compiled once and used multiple times PrepareStatement may contain variables Placeholder for actual values supplied at execution time 23
How to create PrepareStatement 24 “?” Is the placeholder for variables
How to Execute 25 For SQL queries For Insert/Update/ Delete With each execution set the values and then execute…
How to Connect to WPI Oracle 1- Log in to CCC machine 2- Set environment variables > source /usr/local/bin/oraenv 3- Set CLASSPATH for java > export CLASSPATH=./:/usr/local/oracle11gr203/product/11.2.0/ db_1/jdbc/lib/ojdbc6.jar 4- Write your java code (say file name is OracleTest.java) and then compile it > Javac OracleTest.java 5- Run it > Java OracleTest 26
Sources Some links with examples