* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download JDBC
Survey
Document related concepts
Relational algebra wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Microsoft Access wikipedia , lookup
Ingres (database) wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Oracle Database wikipedia , lookup
Versant Object Database wikipedia , lookup
Database model wikipedia , lookup
Clusterpoint wikipedia , lookup
ContactPoint wikipedia , lookup
Transcript
Introduction to JDBC Instructor: Mohamed Eltabakh [email protected] 1 Ways to Access DB CREATE PROCEDURE testProcedure (name varchar2) AS credit_rating NUMBER := 0; BEGIN LOOP credit_rating := credit_rating + 1; IF credit_rating > 3 THEN EXIT; END IF; END LOOP; Direct SQL PL/SQL -- control resumes here IF name > ‘abc’ THEN RETURN; END IF; DBMS_OUTPUT.PUT_LINE ('Credit rating: ' || TO_CHAR(credit_rating)); END; / External language connected to DB 2 What is JDBC JDBC: Java Database Connectivity JDBC is a standard interface for connecting to relational databases from Java Java code DB 3 Overview of Querying a Database With JDBC 4 Stage 1: Connect 5 JDBC Driver Java app JDBC calls Inside the code, you make calls using JDBC APIs JDBC JDBC JDBC driver driver driver Database commands Database Database Database Software module that translates JDBC calls to SQL commands 6 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 Java app JDBC calls JDBC JDBC JDBC driver driver driver Database commands Database Database Database 7 How to Make the Connection 1. Register the driver. Class.forName(“oracle.jdbc.driver.OracleDriver”); Or DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver()); 8 How to Make the Connection 2. Connect to the DB Connection conn = DriverManager.getConnection (URL, userid, password); In our Oracle DB Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@oracle.wpi.edu:1521:WPI11grxx", "userid", "password"); Your Oracle username and pw 9 Import java.sql package Register the driver Establish connection 10 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 The query string Output relation Number of affected tuples 13 Querying the Database: Example I 14 Querying the Database: Example II 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 15 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 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); } 19 Getxxx Function over Resultset And many more: http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html 20 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 “?” Is the placeholder for variables 24 How to Execute For SQL queries For Insert/Update/ Delete With each execution set the values and then execute… 25 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 http://www.cs.ubc.ca/~ramesh/cpsc304/tutorial/JDBC/jdbc1.html http://infolab.stanford.edu/~ullman/fcdb/oracle/or-jdbc.html 27