jdbc by kamalakar dandu

Upload: kamalakar-dandu

Post on 05-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Jdbc by Kamalakar Dandu

    1/57

    1 JDBC ver 1.0

  • 8/2/2019 Jdbc by Kamalakar Dandu

    2/57

    2 JDBC ver 1.0

    jdbc is a generic SQL database access framework

    in Java

    allows applications to query databases, and

    manipulate data returned from them

    it is based on X/Open SQL Call Level

    Interface(CLI) standard (ODBC is also based on

    the CLI)

    JDBC: An Intro

  • 8/2/2019 Jdbc by Kamalakar Dandu

    3/57

    3 JDBC ver 1.0

    Jdbc

    Advantages

    Leverage existing enterprises

    Reduced Development time

    zero configuration for network clients

    Key Features

    Full access to Metadata

    No installation

    Database connection identified by URL style

    Included in the java platform

  • 8/2/2019 Jdbc by Kamalakar Dandu

    4/57

    4 JDBC ver 1.0

    JDBC( Drivers )

    JDBC-ODBC Bridge (Type 1)

    Native-API partly Java Driver(Type 2)

    Net-Protocol All-Java Driver (Type 3) Native Protocol All-Java Driver (Type 4)

    Java.sun.com/products/jdbc/jdbcdrivers.html

  • 8/2/2019 Jdbc by Kamalakar Dandu

    5/57

    5 JDBC ver 1.0

    JDBC driver types

    JDBC drivers are divided into four types or levels. Each type defines

    a JDBC driver implementation with increasingly higher levels of

    platform independence, performance, and deployment administration.The four types are:

    Type 1:JDBC-ODBC Bridge driver

    Type 2:Native-API/partly Java driver

    Type 3:Net-protocol/all-Java driver

    Type 4:Native-protocol/all-Java driver

  • 8/2/2019 Jdbc by Kamalakar Dandu

    6/57

    6 JDBC ver 1.0

    Type 1: JDBC-ODBC Bridge

    The type 1 driver, JDBC-ODBC Bridge, translates all JDBC calls

    into ODBC (Open DataBase Connectivity) calls and sends them to the

    ODBC driver. As such, the ODBC driver, as well as, in many cases, the

    client database code, must be present on the client machine.

    JDBC-ODBC Bridge environment.

  • 8/2/2019 Jdbc by Kamalakar Dandu

    7/57

    7 JDBC ver 1.0

    Advantages

    The JDBC-ODBC Bridge allows access to almost any database, since

    the database's ODBC drivers are already available. Type 1 drivers may be

    useful for those companies that have an ODBC driver already installed on

    client machines.

    DisAdvantages

    The performance is degraded since the JDBC call goes through the bridge

    to the ODBC driver, then to the native database connectivity interface.The result comes back through the reverse process. Therefore considering

    the performance issue, type 1 drivers may not be suitable for large-scale

    applications.

    The ODBC driver and native connectivity interface must already be

    installed on the client machine. Thus any advantage of using Java applets

    in an intranet environment is lost, since the deployment problems of

    traditional applications.

  • 8/2/2019 Jdbc by Kamalakar Dandu

    8/57

    8 JDBC ver 1.0

    Type 2: Native-API/partly Java driver

    JDBC driver type 2 -- the native-API/partly Java driver -- converts

    JDBC calls into database-specific calls for databases such as SQL Server,

    Informix, Oracle, or Sybase. The type 2 driver communicates directly

    with the database server; therefore it requires that some binary code be

    present on the client machine.

  • 8/2/2019 Jdbc by Kamalakar Dandu

    9/57

    9 JDBC ver 1.0

    Advantages

    Better performance than the JDBC-ODBC Bridge.

    DisadvantagesThe vendor database library needs to be loaded on each client machine.

    Consequently, type 2 drivers cannot be used for the Internet.

    Lower performance than type 3 and type 4 drivers.

  • 8/2/2019 Jdbc by Kamalakar Dandu

    10/57

    10 JDBC ver 1.0

    Type 3: Net-protocol/all-Java driver

    JDBC driver type 3 -- the net-protocol/all-Java driver -- follows a

    three-tiered approach whereby the JDBC database requests are passed

    through the network to the middle-tier server. The middle-tier server then

    translates the request (directly or indirectly) to the database-specific

    native-connectivity interface to further the request to the database server.

    If the middle-tier server is written in Java, it can use a type 1 or type 2

    JDBC driver to do this..

  • 8/2/2019 Jdbc by Kamalakar Dandu

    11/57

    11 JDBC ver 1.0

    Advantages

    The net-protocol/all-Java driver is server-based, so there is no need

    for any vendor database library to be present on client machines. Further,

    there are many opportunities to optimize portability, performance, and

    scalability. Moreover, the net protocol can be designed to make the clientJDBC driver very small and fast to load. Additionally, a type 3 driver

    typically provides support for features such as caching (connections,query

    results, and so on), load balancing, and advanced system administration

    such as logging and auditing

    DisAdvantages

    Type 3 drivers require database-specific coding to be done in the middle

    tier. Additionally, traversing the recordset may take longer, since the

    data comes through the backend server.

  • 8/2/2019 Jdbc by Kamalakar Dandu

    12/57

    12 JDBC ver 1.0

    Type 4: Native-protocol/all-Java driver

    The native-protocol/all-Java driver (JDBC driver type 4) converts JDBC

    calls into the vendor-specific database management system (DBMS)

    protocol so that client applications can communicate directly with the data

    base server.Level 4 drivers are completely implemented in Java to achieve platform

    independence and eliminate deployment administration issues.

    Network

  • 8/2/2019 Jdbc by Kamalakar Dandu

    13/57

    13 JDBC ver 1.0

    Advantages

    Since type 4 JDBC drivers don't have to translate database requests

    to ODBC or a native connectivity interface or to pass the request on to

    another server, performance is typically quite good.

    The native -protocol/all-Java driver boasts better performance than types

    1 and 2.

    Also, there's no need to install special software on the client or server.Further, these drivers can be downloaded dynamically.

    Disadvantages

    With type 4 drivers, the user needs a different driver for each database.

  • 8/2/2019 Jdbc by Kamalakar Dandu

    14/57

    14 JDBC ver 1.0

    Structured Query Language(SQL)

    It is a fourth generation language

    It is a database language

    It has statements for data definition, query andUpdate (hence it is a DDL and a DML)

    Generally every database SQL language would

    have one 3rd generation language embedded to

    increase its problem solving efficiency

  • 8/2/2019 Jdbc by Kamalakar Dandu

    15/57

    15 JDBC ver 1.0

    JDBC Contd.

    Jdbc allows the use of SQL statements to interact

    (create, query and update) with the database

    SQL and JAVA syntax necessary to use jdbc

    effectively

  • 8/2/2019 Jdbc by Kamalakar Dandu

    16/57

    16 JDBC ver 1.0

    Jdbc API (java.sql)

    Interfaces :

    Driver

    Connection

    Statement CallableStatement

    PrepatedStatement

    ResultSet ResultSetMetaData

    DataBaseMetaData

  • 8/2/2019 Jdbc by Kamalakar Dandu

    17/57

    17 JDBC ver 1.0

    Jdbc API (Classes)

    Date DriverManager

    DriverPropertyInfo

    Time

    TimeStamp

    TypesEXCEPTIONS

    SQLException SQLWarning

    BatchUpdateException

  • 8/2/2019 Jdbc by Kamalakar Dandu

    18/57

    18 JDBC ver 1.0

    Class DriverManager

    DriverManager

    void registerDriver(Driver)

    void deregisterDriver(Driver)

    Connection getConnection(String url)Connection getConnection(String url, String

    user,String pwd)

    Driver getDriver()

    Enumeration getDrivers()

    void setLogWriter(PrintWriter p)

    PrintWriter getLogWriter()

    Class Name:

    public

    static

    methods

    Drivers are also classes in java. Example:sun.jdbc.odbc.JdbcOdbcDriverthis driver is supplied by Sun itself

    Using the commandClass.forName(classname_driver),automatically loads and registers the

    driver.

  • 8/2/2019 Jdbc by Kamalakar Dandu

    19/57

    19 JDBC ver 1.0

    Interface Driver

    Driver

    Connection connect (String,Properties)

    boolean acceptsURL(String)

    int getMajorVersion()

    int getMinorVersion()

    boolean jdbcCompliant()

    DriverPropertyInfogetPropertyInfo(String,Properties)

    interface Name:

    public

    methods

  • 8/2/2019 Jdbc by Kamalakar Dandu

    20/57

    20 JDBC ver 1.0

    Example

    Register a jdbc driver you want to use. Use the

    getDrivers() method to retrieve a list of registered

    drivers. Obtain the driverInformation by querying

    each of the available drivers.

    Eg:DriverInfo.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    21/57

    21 JDBC ver 1.0

    Connecting to a Database

    Load the driver by specifying the driver as a string

    use the getConnection() method of the

    DriverManager class to connect to the database

    getConnection method

    takes a URL as a parameter

    URL (a String) specifies the type of

    protocol/subprotocol jdbc will use to connect tothe database)

    returns a Connection object

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    22/57

    22 JDBC ver 1.0

    Usage of Classes

    DriverManager

    Connection

    getConnection(String url)

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    23/57

    23 JDBC ver 1.0

    Database URL

    Goals of this convention

    Naming should include connection information

    net protocol should have port number/ host nameJDBC:ODBC bridge should use the simple

    protocol

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    24/57

    24 JDBC ver 1.0

    URL Syntax

    URLs in the getConnection() method should havethe format :

    jdbc::

    subprotocol: the database connectivity mechanismsupported by the driver.

    subname:specify network address of dbserver(URL for n/w address//Hostname:port/subname)

    Example:

    jdbc:odbc:javatmp

    jdbc:dbnet://HMANT001:1526/ordb

    javatmp is an odbcsource name Connect using dbnet protocol to

    hmant001 at port 1526 with

    ordbc as connection name

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    25/57

    25 JDBC ver 1.0

    Odbc Subprotocol

    This subprotocol used for accessing ODBC data

    sources

    subprotocol

    jdbc:odbc::[; ]

    example

    jdbc:odbc:javatmpjdbc:odbc:NorthWind;UID=kgh;pwd=foo

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    26/57

    26 JDBC ver 1.0

    Interface Connection

    Connection

    Stmt createStatement()Stmt createStatement(int, int)CallableStmt prepareCall(String sql)PreparedStmt prepareStatement(String sql)void rollback()void commit()boolean get/setAutoCommit(boolean)

    int get/setTransactionIsolation(int)DatabaseMetaData getMetaData()void close()void clearWarnings()

    interface Name

    public

    methods

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    27/57

    27 JDBC ver 1.0

    Example

    Create a odbc dsn for an access database

    Register and load the jdbc-odbc driver.

    Connect to the database using getConnection(data

    source url );

    If there is an exception thrown during the

    connection display info and exit

    Eg1: CheckConnect.java

    Eg2: ConnectType4.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    28/57

    28 JDBC ver 1.0

    Example

    Register and load the jdbc-odbc driver.

    Connect to the database using

    getConnection(String, Properties); or

    getConnection(String,String,String)

    If there is an exception thrown during the

    connection display info and exit

    Eg: CheckConnect2.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    29/57

    29 JDBC ver 1.0

    Example

    Create new instance of jdbc-odbc driver.

    Connect to database using the connect(String,

    Properties) method in the driver class

    If there is an exception thrown during the

    connection display info and exit

    Eg: CheckConnect3.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    30/57

    30 JDBC ver 1.0

    Interface DatabaseMetaData

    DatabaseMetaData

    String getDatabaseProductName()

    String getDatabaseProductVersion()

    int getDriverMajorVersion();

    int getDriverMinorVersion();

    String getDriverName()

    String getDriverVersion()

    String getNumericFunctions()String getSystemFunctions()

    String getStringFunctions()

    interface

    Name

    public

    methods

    Method getMetaData() ofConnection interface returnshandle to DatabaseMetaData

    More methods are avaialablein this interface.

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    31/57

    31 JDBC ver 1.0

    Example

    Load / Register the jdbc-odbc driver

    Connect to database

    Use getMetaData() to return a handle toDatabaseMetaData

    Display information about the Database

    Eg:DatabaseInfo.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    32/57

    32 JDBC ver 1.0

    Review

    DriverManager

    Connection

    getConnection(String)

    DatabaseMetaData

    getMetaData()

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    33/57

    33 JDBC ver 1.0

    Retrieving Data from a DB

    To retrieve data one must use one of the following

    classes to query the database (after connection has

    been established)

    Statement

    PreparedStatement

    CallableStatement

    A Statement object is returned from thecreateStatement() method of Connection interface

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    34/57

    34 JDBC ver 1.0

    Interface Statement

    Statement

    ResultSet executeQuery(String)

    int executeUpdate(String);boolean execute(String)

    void close()

    ResultSet getResultSet()

    void clearWarnings()

    interface Name

    public

    methods

    Method createStatement() ofConnection interface returnshandle to Statement

    To see the information in rows sentfrom the database, we need to use

    methods in the ResultSet interface

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    35/57

    35 JDBC ver 1.0

    Interface ResultSet

    ResultSet

    int findColumn(String colname)

    boolean getBoolean(int)/(String)

    get(int)/(String)void close()

    ResultSetMetaData getMetaData()

    boolean next()boolean previous()

    boolean wasNull()

    interface Namepublic

    methods

    To find out the number of columnsand column types we need to use theResultSetMetaData interface

    String argument implies a column nameint argument implies a column position(count is from 1 onwards)

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    36/57

    36 JDBC ver 1.0

    interface ResultSetMetaData

    ResultSetMetaDataint getColumnCount()

    int getColumnDisplaySize(int)

    String getColumnLabel(int)

    String getColumnName(int)int getColumnType(int)

    String getColumnTypeName(int)

    boolean isReadOnly(int)

    boolean isSearchable(int)

    boolean isWritable(int)

    String getTableName(int)

    interface Namepublic

    methods

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    37/57

    37 JDBC ver 1.0

    Example

    Load/register the jdbc-odbc driver

    Connect to database

    get a handle to a statement, and call

    executeQuery() in the statement get the count of columns from the MetaDatainformation

    display the information rowwise (Note all info is

    being displayed as a String)

    Eg:SQLQuery.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    38/57

    38 JDBC ver 1.0

    Review

    DriverManager

    Connection

    getConnection(String)

    ResultSetMetaData getMetaData()

    Statement

    createStatement()

    ResultSet

    executeQuery(...)

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    39/57

    39 JDBC ver 1.0

    Example

    Load / Register the jdbc-odbc driver

    Connect to database

    Get a handle to a statement, and call

    executeQuery() in the statement Get the count of columns from the MetaData

    information

    Display the column information of table

    Eg: SQLQueryTableInfo.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    40/57

    40 JDBC ver 1.0

    StringVARCHARStringCHAR

    java.math.BigDecimalNUMERICStringLONGVARCHAR

    booleanBITjava.math.BigDecimalDECIMAL

    intSMALLINTintTINYINT

    longBIGINTintINTEGER

    SQL Data Types & Java

    Data / Objects

    SQL defines its data types. Hencewhile java retrieves these data types,

    one must known the type conversionbetween the two.

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    41/57

    41 JDBC ver 1.0

    doubleFLOAT

    floatREAL

    byte[ ]BINARY

    doubleDOUBLE

    byte[ ]VARBINARY

    java.sql.TimeTIME

    java.sql.DateDATE

    java.sql.TimestampTIMESTAMP

    SQL Data Types & Java

    Data / Objects

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    42/57

    42 JDBC ver 1.0

    Data Conversion in ResultSets

    getXXX(i) will attempt to convert the SQL Data type ofcolumn i into whatever type getXXX() method returns

    Example

    let the first column in the Result set be an ID number(SQL TYPE: INTEGER)

    if we use getString(1), it converts the INTEGER ofSQL into a String object, and it returns a handle to

    this objectHence to return an integer, one must use getInt (1)which returns an int

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    43/57

    43 JDBC ver 1.0

    SQL NULL

    To determine whether the SQL returned

    value is null

    Step 1: read the value using getXXX().

    Setup 2: use the wasNull() method of the Result

    set class. If it returns true the value just read was

    a SQL Null value

    it getXXX() would return zero for SQL nulls forint, byte, long

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    44/57

    44 JDBC ver 1.0

    Passing Parameters to SQL

    Statements

    To retrieve a row based on a value, one

    cannot use the following query string

    select empid, name from employeeswhere empid=3

    the problem with the above statement is that the

    empid is having value string 3 and not int 3. Solution: Use PrepareStatement instead of

    the Statement class

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    45/57

    45 JDBC ver 1.0

    Batch UpdatingBatch Updating

    Step 1 : add the executable queries to

    statement

    - Statement. addBatch(SQL Query);

    Step 2 : execute Batch

    - int [] Statement.executeBatch();

    Step 3 : Process the integer array.

    Eg. : BatchUpdate.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    46/57

    46 JDBC ver 1.0

    Interface PreparedStatement

    PreparedStatement

    ResultSet executeQuery()

    int executeUpdate();

    boolean execute();

    ResultSet getResultSet()

    void clearParameters()

    void setXXX(int,XXX)

    interface Name

    public

    methods

    The string to be queried must be passedto prepareStatement of Connection

    class as a parameter.

    setxxx() methods in this interface do not doconversions, but insert the correspondingjava to SQL mapped data types

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    47/57

    47JDBC ver 1.0

    Setting Parameters in Query

    To create a queryselect empid, empname, empdesc from

    employees where empid=3

    PreparedStatement ps =conn.prepareStatement(select empid,empname, empdesc form employeeswhere empid=?);

    ps.setInt(1,3);

    ps.executeQuery();

    In parameters in the query string are filledwith ? marks.

    Use setXXX(1, val) to set the firstparameter with val of type XXX

    Use setXXX(2, ) to insert at the second

    question mark

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    48/57

    48JDBC ver 1.0

    Example

    Load / Register the jdbc-odbc driver

    Connect to database

    Display information about the person withemployeeID = 3 from employees table inNorthwind database.

    Eg:SQLQuery2.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    49/57

    49JDBC ver 1.0

    Exercise

    Create a table Projects with the followingspecifications

    ProjectID - integer

    ProjectName - text

    ProjectLocation - text

    ProjectStartDate - Date

    insert the values

    (1, ecom, hma, 1985-03-9)(2, corba, hst, 1945-06-26)

    (3, hxml, lst, 1996-09-5)

    SQLExercise.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    50/57

    50JDBC ver 1.0

    To send an SQL null as parameter use the

    setNull(int,int) in the PreparedStatement interface

    first integer is the position of the parameter

    second integer is the constant for SQLtype ofparameter

    constants defined in java.sql.Types.xxx

    java.sql.Types.VARCHARjava.sql.Types.BIT

    Sending SQL Nulls as Parameters

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    51/57

    51JDBC ver 1.0

    Exercise

    Insert the value into the table Projects created in theprevious exercise .

    (4, Cold Fusion, , 1999-09-9)

    SQLExercise2.java

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    52/57

    52JDBC ver 1.0

    Stored Procedures

    To execute a stored procedure call, one must use theCallableStatement interface

    This can be created using the prepareCall(String) method

    of the Connection interface A stored procedure call might return some values

    to retrieve them, you need to register the out parametertypes before executing the stored procedure query

    CallableStatement extends from PreparedStatementinterface

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    53/57

    53JDBC ver 1.0

    Illustration

    CallableStatementstmt = conn.prepareCall({call

    getTestData(?,?) });

    // getTestData has 2 OUT parameters

    stmt.registerOutParameter(1,Types.TINYINT);

    stmt.registerOutParameter(2,Types.DOUBLE);

    int i = stmt.executeUpdate();

    byte x = stmt.getByte(1);double d = stmt.getDouble(2);

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    54/57

    54JDBC ver 1.0

    DriverManager

    Connection

    getConnection Statement

    PreparedStatement

    createStatement

    prepareStatement

    prepareCall

    CallableStatement

    subclass

    Data types: Date

    int, Time, longdouble, float

    ResultSet

    executeQuery

    getXXX

    getXXX

    setXXX

    executeUpdate;getResultSet

    C i S d P d

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    55/57

    55JDBC ver 1.0

    Creating a Stored Procedure

    String createProcedure = "create procedure

    SHOWEMP " + "as "

    + "select * FROM emp;

    Statement stmt = conn.createStatement();

    stmt.executeUpdate(createProcedure);

    Steps to create a stored procedure in the database

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    56/57

    56JDBC ver 1.0

    Calling the Stored Procedure

    CallableStatement stmt = conn.prepareCall(

    { call SHOWEMP });

    ResultSet rs = stmt.executeQuery();

    Steps to execute a stored procedure in the database

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java
  • 8/2/2019 Jdbc by Kamalakar Dandu

    57/57

    JDBC 1 0

    Exercise (contd)Exercise (contd)

    19. The application, as of now, is having

    difficulty in managing the data stored in the

    files. Further, accessing, this data according to

    various permutations and combinations hasbeen a tedious task. Therefore, it is suggested

    that the data in the files be migrated to a

    RDBMS

    http://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.javahttp://var/www/apps/conversion/current/tmp/scratch12626/show.bat%20BasicDataTypes.java