+ All Categories
Home > Education > Java database connectivity with MySql

Java database connectivity with MySql

Date post: 10-Feb-2017
Category:
Upload: dhyey-dattani
View: 181 times
Download: 3 times
Share this document with a friend
24
Java Database Connectivity(JDBC) Using MySql ADVANCE JAVA PROGRAMING Subject Code (3360701) Presented By- Dattani Dhyey-136250307505
Transcript
Page 1: Java database connectivity with MySql

Java Database Connectivity(JDBC) Using MySql

ADVANCE JAVA PROGRAMINGSubject Code (3360701)

Presented By- Dattani Dhyey-136250307505

Page 2: Java database connectivity with MySql
Page 3: Java database connectivity with MySql

JDBC Two Tier Architecture• Java Application talks

directly to the database.

• Accomplished through the JDBC driver which sends commands directly to the database.

• Results sent back directly to the application

Application Space

Java Application

JDBC Driver

Database

SQLCommand

ResultSet

Page 4: Java database connectivity with MySql

JDBC Three Tier Architecture• JDBC driver sends

commands to a middle tier, which in turn sends commands to database.

• Results are sent back to the middle tier, which communicates them back to the application

Application Space

Java Application

JDBC Driver

Database

SQLCommand

ResultSet

Application Server(middle-tier)

ProprietaryProtocol

Page 5: Java database connectivity with MySql

The JDBC API

The JDBC API stands for Java Database Connectivity Application Programming Interface. It allows an application written in java to communicate and interacts with database.

It allows JAVA application to:1) Create and open connection with database.2) Specify and executes various SQL queries against database.3) Retrieve records from database.

The JDBC API defines various classes and interfaces to communicate with database.

The JDBC classes are defined inside java.sql package.

Page 6: Java database connectivity with MySql

JDBC Components

Interface PurposeDriver Is used to create a connection object using

connect() method.Connection Is used to monitor and maintain database

sessions. createStatement() method is used create statement.

Statement Is used to execute SQL statements and retrieve records from database.

ResultSet Is used to retrieve records that are returned by executing SQL query.

1) The java.sql package :

The java.sql package contains set of classes and interfaces that are used to communicate with database.

Following are most common interfaces of java.sql package.

Page 7: Java database connectivity with MySql

JDBC Components

Class PurposeDriverManager Is used to manage multiple drivers. And also

used to load and register the JDBC drivers and establish connection with database. The getconnection() method of DriverManager class is used to create connection object.

SQLException This class handles any errors that occur in a database application.

Following are most common classes of java.sql package.

Page 8: Java database connectivity with MySql

JDBC Components

2)   JDBC Test Suite:

 The JDBC driver test suite helps you to determine that JDBC drivers will run your program. These tests are not comprehensive or exhaustive, but they do exercise many of the important features in the JDBC API.

3)  JDBC-ODBC Bridge :

 The Java Software bridge provides JDBC access via ODBC drivers. Note that you need to load ODBC binary code onto each client machine that uses this driver. As a result, the ODBC driver is most appropriate on a corporate network where client installations are not a major problem, or for application server code written in Java in a three-tier architecture.

Page 9: Java database connectivity with MySql

JDBC-ODBC Bridge Advantages Of JDBC.

o Can read any database.o Creates XML structure of data from database.o No content conversiono Query and stored procedure supported.

Disadvantages Of JDBC.o Not good for large project.o It needs specific database queries.o Multiple connections may have complexitieso Exception handling is a big issue with JDBC.

Page 10: Java database connectivity with MySql

JDBC-ODBC Bridge

Page 11: Java database connectivity with MySql

JDBC Drivers

JDBC Driver is a software component that enables java application to interact with the database.

To help you understand what different drivers require, the following driver categorization system id defined :-

o Type 1: JDBC-ODBC Bridge driver (Bridge).o Type 2: Native-API/partly Java driver (Native).o Type 3: All Java/Net-protocol driver (Middleware).o Type 4: All Java/Native-protocol driver (Pure).

Page 12: Java database connectivity with MySql
Page 13: Java database connectivity with MySql
Page 14: Java database connectivity with MySql
Page 15: Java database connectivity with MySql

Type 2: Native-API, Partly Java Driver• Native-API driver

converts JDBC commands into DBMS-specific native calls

• Directly interfaces with the database

Application Space

Java Application

Type 2 JDBC Driver

Database

SQLCommand

ResultSet

Native DatabaseLibraryProprietary

Protocol

Page 16: Java database connectivity with MySql
Page 17: Java database connectivity with MySql
Page 18: Java database connectivity with MySql

Type 4: Native-Protocol, Pure Java DriverPure Java drivers that

communicate directly with the vendor’s database

JDBC commands converted to database engine’s native protocol directly

Advantage: no additional translation or middleware layer

Improves performance

Application Space

Java Application

Type 4 JDBC Driver

Database

SQL CommandUsing Proprietary

Protocol

Result SetUsing Proprietary

Protocol

Page 19: Java database connectivity with MySql

Step-1 : Import JAVA SQl statement.o import.java.sql.*;

Creating Database

Step-2 : Load and Register JDBC driver.o Syntax : Class.forName (“Driver Name”);

Step-3 : Establish Connection with Database.o Syntax : Connection conn= DriverManager.getConnection (“URL”, “Username”,

”Password”);

Step-4 : Create Statement.o Statement stmt = conn.createstatement();

Page 20: Java database connectivity with MySql

Step-5 : Execute Query.o ResultSet rs= stmt.executeQuery("SELECT * FROM STUDENT");o stmt.executeUpdate("INSERT INTO STUDENT VALUES(7,'abc','Chennai')”);

Step-6 : Retrieve Results (applied for select query)o while(rs.next())

{int id = rs.getInt("enroll");String name= rs.getString("name");String city= rs.getString("city");System.out.println(id+"\t\t");System.out.println(name+"\t\t");System.out.println(city+"\t\t");

}

Step-7 : Closing Connection and Statement.o conn.close();o stmt.close();

Continued…..

Page 21: Java database connectivity with MySql

// Step-1 : Import java.sql packageimport java.sql.*;public class database{

public static void main(String args[]){

Connection conn= null;Statement stmt= null;try{

//Step-2: Load and register the JDBC driverClass.forName("com.mysql.jdbc.Driver");//Step-3 : Establish connection with Database.System.out.println("Trying to connect with Database");conn=

DriverManager.getConnection("jdbc:mysql://localhost/","root","");System.out.println("Connection Established Successfully");//Step-4 : Create Statement. System.out.println("Trying to create Database");

Page 22: Java database connectivity with MySql

//Step-5 : Execute Query.stmt=conn.createStatement();String sql= "CREATE DATABASE jdemo";stmt.executeUpdate(sql);System.out.println("Database created successfully");//Step-6: Close Connection.conn.close();stmt.close();

}catch(SQLException se){

se.printStackTrace();}catch(Exception e){

e.printStackTrace();}

}}

Page 23: Java database connectivity with MySql

import java.sql.*;public class dbpreparestmt{

public static void main(String args[]){

Connection conn = null;Statement stmt = null;try{

Class.forName("com.mysql.jdbc.Driver");System.out.println("Trying to connect with Database");conn=DriverManager.getConnection("jdbc:mysql://localhost/

jdemo","root","");System.out.println("Connection Established Successfully");System.out.println("Trying to insert data in table");stmt = conn.createStatement();PreparedStatement pst=conn.prepareStatement("INSERT INTO dhyey

VALUES(?,?,?)");

Insertion Using PrepareStatement

Page 24: Java database connectivity with MySql

pst.setInt(1,7057);pst.setString(2,"raj");pst.setString(3,"gujrat");pst.executeUpdate();System.out.println("Data inserted successfully");conn.close();stmt.close();

}catch(SQLException se){

se.printStackTrace();}catch(Exception e){

e.printStackTrace();}

}}


Recommended