Java Database Connectivity

Similar documents
Java Database Connectivity

DATABASE DESIGN I - 1DL300

Databases 2012 Embedded SQL

Java Database Connectivity

SQL: Programming. Announcements (September 25) Motivation. CPS 116 Introduction to Database Systems. Pros and cons of SQL.

JDBC Architecture. JDBC API: This provides the application-to- JDBC Manager connection.

CSC System Development with Java. Database Connection. Department of Statistics and Computer Science. Budditha Hettige

SQream Connector JDBC SQream Technologies Version 2.9.3

ERwin and JDBC. Mar. 6, 2007 Myoung Ho Kim

SQL: Programming Midterm in class next Thursday (October 5)

Visit for more.

Accessing databases in Java using JDBC

MANTHLY TEST SEPTEMBER 2017 QUESTION BANK CLASS: XII SUBJECT: INFORMATICS PRACTICES (065)

Database Programming Overview. COSC 304 Introduction to Database Systems. Database Programming. JDBC Interfaces. JDBC Overview

You write standard JDBC API application and plug in the appropriate JDBC driver for the database the you want to use. Java applet, app or servlets

JDBC 3.0. Java Database Connectivity. 1 Java

Instructor: Jinze Liu. Fall 2008

Java Database Connectivity (JDBC) 25.1 What is JDBC?

DB I. 1 Dr. Ahmed ElShafee, Java course

Unit 3 - Java Data Base Connectivity

UNIT-3 Java Database Client/Server

SQL in a Server Environment

The Design of JDBC The Structured Query Language Basic JDBC Programming Concepts Query Execution Scrollable and Updatable Result Sets

COP4540 TUTORIAL PROFESSOR: DR SHU-CHING CHEN TA: H S IN-YU HA

DataBase Lab JAVA-DATABASE CONNECTION. Eng. Haneen El-masry

Enterprise Java Unit 1- Chapter 6 Prof. Sujata Rizal

BUSINESS INTELLIGENCE LABORATORY. Data Access: Relational Data Bases. Business Informatics Degree

This lecture. Databases - JDBC I. Application Programs. Database Access End Users

Introduction to JDBC. JDBC: Java Database Connectivity. Why Access a Database with Java? Compilation. Six Steps. Packages to Import

Remote Method Invocation

Persistency Patterns. Repository and DAO

Database Application Development

COMP102: Introduction to Databases, 23

Cyrus Shahabi Computer Science Department University of Southern California C. Shahabi

Application Programming for Relational Databases

Databases and JDBC. by Vlad Costel Ungureanu for Learn Stuff

Java and the Java DataBase Connectivity (JDBC) API. Todd Kaufman April 25, 2002

Calling SQL from a host language (Java and Python) Kathleen Durant CS 3200

e-pg Pathshala Subject: Computer Science Paper: Web Technology Module: JDBC INTRODUCTION Module No: CS/WT/26 Quadrant 2 e-text

Unit 2 JDBC Programming

How to program applications. CS 2550 / Spring 2006 Principles of Database Systems. SQL is not enough. Roadmap

Logging and Recovery. 444 Section, April 23, 2009

while (rs.next()) { String[] temp_array = {"","",""}; int prodid = rs.getint(1); temp_array[0] = ""+prodid;

Working with Databases and Java

PERSİSTENCE OBJECT RELATİON MAPPİNG

Programming in Java

Servlet 5.1 JDBC 5.2 JDBC

Top 50 JDBC Interview Questions and Answers

C:/Users/zzaier/Documents/NetBeansProjects/WebApplication4/src/java/mainpackage/MainClass.java

CSE 135. Three-Tier Architecture. Applications Utilizing Databases. Browser. App. Server. Database. Server

JAVA AND DATABASES. Summer 2018

Topic 12: Database Programming using JDBC. Database & DBMS SQL JDBC

JDBC Java Database Connectivity is a Java feature that lets you connect

Lab # 9. Java to Database Connection

Database Application Development Part 2 - Chapter

1. PhP Project. Create a new PhP Project as shown below and click next

CMPUT 391 Database Management Systems. JDBC in Review. - Lab 2 -

Databases and SQL Lab EECS 448

JDBC [Java DataBase Connectivity]

JDBC Programming: Intro

Java Database Connectivity

Enterprise Systems. Lecture 02: JDBC. Behzad BORDBAR

Introduction to SQL & Database Application Development Using Java

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer


Three-Tier Architecture

Types of Databases. Types of Databases. Types of Databases. Databases and Web. Databases and Web. Relational databases may also have indexes

Chapter 13 JDBC And NOI

Introduction to Databases

Outline. Lecture 10: Database Connectivity -JDBC. Java Persistence. Persistence via Database

JDBC - INTERVIEW QUESTIONS

Chair of Software Engineering. Java and C# in Depth. Prof. Dr. Bertrand Meyer. Exercise Session 9. Nadia Polikarpova

JDBC. Sun Microsystems has included JDBC API as a part of J2SDK to develop Java applications that can communicate with databases.

Introduction to JDBC. Lecture 12

Chapter 10 Java and SQL. Wang Yang

JDBC SHORT NOTES. Abstract This document contains short notes on JDBC, their types with diagrams. Rohit Deshbhratar [ address]

WEB SERVICES EXAMPLE 2

Part I: Stored Procedures. Introduction to SQL Programming Techniques. CSC 375, Fall 2017

UNIT III - JDBC Two Marks

Advanced Programming Techniques. Database Systems. Christopher Moretti

JDBC Drivers Type. JDBC drivers implement the defined interfaces in the JDBC API for interacting with your database server.

VanillaCore Walkthrough Part 1. Introduction to Database Systems DataLab CS, NTHU

CHAPTER 2 JDBC FUNDAMENTALS

Database connectivity (II)

Best Practices for Boosting Java Application Performance and Availability on IBM DB2

INTRODUCTION TO JDBC - Revised spring

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science

CS221 Lecture: Java Database Connectivity (JDBC)

UNIT-VIII Introduction of Java Database Connectivity

IBM Netezza JDBC 연동가이드

The Web Application Developer s. Red Hat Database. View. October 30, Webcast. Patrick Macdonald, Fernando Nasser. Red Hat Database Engineering

Database Access with JDBC. Dr. Jens Bennedsen, Aarhus University, School of Engineering Aarhus, Denmark

Database Programming. Week 9. *Some of the slides in this lecture are created by Prof. Ian Horrocks from University of Oxford

INTRODUCTION TO JDBC - Revised Spring

Questions and Answers. A. A DataSource is the basic service for managing a set of JDBC drivers.

SQL DML and DB Applications, JDBC

Java E-Commerce Martin Cooke,

Java application using JDBC to connect to a database.

Content Services for JDBC Driver User Guide

JDBC, Transactions. Niklas Fors JDBC 1 / 38

Transcription:

Java Database Connectivity INTRODUCTION Dr. Syed Imtiyaz Hassan Assistant Professor, Deptt. of CSE, Jamia Hamdard (Deemed to be University), New Delhi, India. s.imtiyaz@jamiahamdard.ac.in

Agenda Introduction Product Components Architecture Drivers Processing SQL Summary Refrences

Introduction Java API for database-independent connectivity between the Java programming language and a wide range of databases

Introduction Helps to write Java applications that manage these three programming activities: Connect to a data source, like a database Send queries and update statements to the database Retrieve and process the results received from the database in answer to your query

Product Components The JDBC API java.sql javax.sql JDBC Driver Manager DataSource JDBC Test Suite JDBC-ODBC Bridge

Architecture 2-tier 3-tier N-tier

Architecture 2-tier SRC: https://docs.oracle.com/javase/tutorial/jdbc/overview/index.html

Architecture 2-tier (cont.) Client connects directly to server e.g. HTTP, email Pro: simple Con: fat client inflexible

Architecture 3-tier SRC: https://docs.oracle.com/javase/tutorial/jdbc/overview/index.html

Pros Architecture 3-tier (cont.) Flexible Specialization: presentation / business logic / data management Can cache queries Can implement proxies and firewalls Cons Higher complexity Higher maintenance Lower network efficiency More parts to configure

Architecture N-tier N-tier data applications are data applications that are separated into multiple tiers Presentation Tier/Middle Tier/Data Tier Adapted from: https://msdn.microsoft.com/en-us/library/bb384398.aspx

Drivers Type 1: JDBC-ODBC Bridge Driver Type 2: JDBC-Native API SRC: https://www.tutorialspoint.com/jdbc/jdbc-driver-types.htm

Driver (cont.) Type 3: JDBC-Net pure Java (Network Protocol) Type 4: 100% pure Java (Native-protocol) SRC: https://www.tutorialspoint.com/jdbc/jdbc-driver-types.htm

Video

Simplicity Simplicity is the ultimate sophistication. Leonardo da Vinci Simplest explanation is the right explanation. Occam's razor Everything must be made as simple as possible, but not simpler. Albert Einstein

Processing SQL 1. Establishing a connection. 2. Create a statement. 3. Execute the query. 4. Process the Result. 5. Close the connection.

Processing SQL (cont.) Establish Connection Create Statement Execute Query Process Result Close Connection

Processing SQL Establish Connection Establish Connection Datasource Create Statement DriverManager Register the driver Execute Query Connect to the database Process Result Close Connection

Processing SQL Establish Connection (cont.) Register Class.forName(drivername) Connect DriverManager.getConnection(URL) jdbc:<subprotocol>:<subname> Protocol Subprotocol Database identifier jdbc:mysql://localhost:3306/students

Processing SQL Establish Connection (cont.) class.forname( com.mysql.jdbc.driver ); Connection con=drivermanager.getconnection( jdbc:mysql://localhost:3306/students, root, passwd );

Processing SQL Establish Connection (cont.) import java.sql.*; class Select { public static void main( String argv[] ) { try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/students"; Connection con = DriverManager.getConnection(url, "root","password"); } }...... } catch (Exception e) { e.printstacktrace(); }

Processing SQL Create Statement Establish Connection Create Statement Statement stmt = con.createstatement(); Execute Query Process Result Close Connection

Processing SQL Execute Query Establish Connection Create Statement executequery() Execute Query ExecuteUpdate() Process Result ResultSet rs = stmt.executequery(statement); int count = stmt.executeupdate(statement); Close Connection

Processing SQL Execute Query (cont.) Select statement ResultSet rset = stmt.executequery ("select *from BTCSE"); Delete statement int rowcount = stmt.executeupdate ("delete from BTCSE where student_section = A );

Processing SQL Execute Query (cont.) import java.sql.*; class Select { public static void main( String argv[] ) { try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/students"; Connection con = DriverManager.getConnection(url, "root","password");. Statement stmt=con.createstatement(); String sql = "select * from BTCSE"; ResultSet rs=stmt.executequery(sql);... } catch (Exception e) { e.printstacktrace(); } } }

Processing SQL Process Result Establish Connection Create Statement Execute Query ResultSet Process Result Others Close Connection

Processing SQL Process Result ResultSet 1. Step through the ResultSet. while (rs.next()) { } 2. Use getxxx() to get each column value. String val = rs.getstring(colname); String val = rs.getstring(colindex); while (rset.next()) { String enrollment = rset.getstring( enrollment_number"); String stdname = rset.getstring(2); // Process or display the data }

Processing SQL Process Result (cont.) import java.sql.*; class Select { public static void main( String argv[] ) { try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/students"; Connection con = DriverManager.getConnection(url, "root","password"); Statement stmt=con.createstatement(); String sql = "select * from students"; ResultSet rs=stmt.executequery(sql); while ( rs.next() ) System.out.println(rs.getString( 1 )+","+rs.getstring( 2 ));. } catch (Exception e) { e.printstacktrace(); } } }

Processing SQL Close Connection Establish Connection Create Statement Execute Query Close the ResultSet Process Result Close the Statement Close Connection Close the Connection

Processing SQL Close Connection (cont.) 1. Close the ResultSet object. rs.close(); 2. Close the Statement object. stmt.close(); 3. Close the connection. con.close();

Program Example package advancedjava.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.statement; public class SelectRecords { public static void main(string argv[]) { Connection con = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/students"; con = DriverManager.getConnection(url, "root", "password"); String sql = "select * from btcse"; stmt = con.createstatement(); rs = stmt.executequery(sql); System.out.println("Enrollment\tName\tSection"); while (rs.next()) { System.out.println(rs.getString(1) + "\t" + rs.getstring(2) + "\t" + rs.getint(3)); } rs.close(); stmt.close(); con.close(); } catch (Exception e) { System.out.println("** Error on data select. ** " + e); } } }

Summary

Reference JDBC Database Access https://docs.oracle.com/javase/tutorial/jdbc/index.html

Thank You Questions???