Upload
kamalakar-dandu
View
220
Download
0
Embed Size (px)
Citation preview
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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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.java8/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