Home About Courses Schedule Services Webinars Contact Search

JDBC for Application Developers

SEE SCHEDULE

Duration: 2 Days

Method: Instructor led, Hands-on workshops

Price: $1125.00

Course Code: JA1072



Audience

This is an introductory to intermediate level training course, designed for experienced Java developers and architects who need to implement database access using JDBC in Java applications.

Description

Java Database Connectivity (JDBC) for Application Developers is a two-day hands-on workshop that explores JDBC application development using a combination of lecture and labs. At completion you will be able to write JDBC applications that access a database, retrieve and manipulate data of intermediate to advanced level complexity.

WORKSHOP OVERVIEW: HANDS-ON LEARNING Throughout the course students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review.This class is “technology-centric”, designed to train attendees in essential J2EE development skills coupling the most current, effective techniques with the most sound coding practices.

Multiple detailed lab exercises are laced throughout the course, designed to reinforce fundamental skills and concepts learned in the lessons. Because these lessons, labs and projects are presented in a building block fashion, students will gain a solid understanding of not only the core concepts, but also how all the pieces fit together in a complete application. At the end of each lesson, developers will be tested with a set of review questions to ensure that he/she has fully understands that topic.

Although this training is skills-centric, this course may run using a variety of IDE and application server combinations.Please ask you account executive for details.

Prerequisites

This is a beginner to intermediate level Java programming course. Attending students should have a basic level of Java programming ability, as well as a basic understanding of DBMS principles. Familiarity with the SQL programming will also be helpful.

Topics

  1. Introducing JDBC
    • What is JDBC?
    • JDBC 1.0
    • JDBC 3.0
    • New Features in JDBC 3.0
    • Java and JDBC
    • The JDBC API
    • JDBC Application Architecture
    • Two - Tier Model
    • Three Tier Deployment
    • N - Tier Deployment
    • JDBC Design Goals
    • JDBC Over ODBC
  2. JDBC Drivers
    • Driver Types
    • Implementation & Communication Protocols
    • Advantage of Driver Types
    • Applets and Database Connectivity
    • Obtaining a Driver
    • When Things Go Wrong
  3. Database Concepts
    • What is a Relational Database?
    • Schemas
    • Examples of SQL Data Definition Language
    • Cautions on DDL
    • Indexes and Primary Keys
    • Foreign Keys
    • Views
    • SQL Data Types
    • Java Mapping to SQL Data Types
    • Manipulating Data – DML
    • Qualifying DML
    • Wildcards in String Comparisons
    • Wildcard Examples
    • Functions
    • Stored Procedures
    • Transactions and Integrity
    • SQL and Standards
    • Lab - Exploring the Sample Database
  4. Making Simple Database Connections
    • Connecting to a Database
    • The Connection URL String
    • Loading the Driver
    • Using ODBC
    • Getting a Connection
    • The Connection Object
    • Connecting to the Database
    • Lab - Connecting to the Database
    • Lab - Set up the tables
  5. Handling SQL Exceptions and Warnings
    • SQL and Exceptions
    • SQLException
    • Processing Multiple Exceptions
    • SQLWarning
    • The Importance of finally
    • Exercise 4 - Adding Exception/Warning Handlers
  6. Retrieving Data from the Database
    • Creating a New Query
    • Executing a New Query
    • The Result Set
    • Processing Result Set Data
    • A Complete Example
    • SQL to Java Mappings
    • Who Can Read What
    • Lab - Create the Data Objects
    • Lab - Select All Rows from Tables
  7. Updating Data in the Database
    • Update DML
    • Insert DML
    • Delete DML
    • Using the executeUpdate Method
    • Examples
    • Nulls
    • Update Example
    • Lab - Using Statement to Update Data
  8. Using Prepared Statements
    • Prepared Statements
    • Binding Values to Prepared Statements
    • Using a Prepared Statement
    • Prepared Statements for Update
    • The Advantage of Prepared Statements
    • Lab - Using PreparedStatement to Update Data
  9. Transactions
    • Transactions
    • Controlling Transactions
    • Isolation Levels
    • Transaction Example
    • Exercise 9 - Executing Multiple Updates Within a Transaction
  10. Batch Updates
    • Batches
    • Using Batches
    • Batch Update Example
    • Lab - Executing Multiple Updates within a Batch
  11. Scrollable ResultSets
    • Scrollable ResultSets
    • Result Set Types
    • Concurrency
    • Navigation Methods
    • Examples
    • Updating Result Sets
    • Updating a Row
    • Inserting Rows
    • Deleting Rows
    • Refreshing Data
    • Lab - Executing Multiple Updates using ResultSet
    • Lab - Creating Data Bound Application Objects
  12. . Rowsets
    • What is a Row Set?
    • Using a Row Set
    • Row Set Methods
    • Populating a Row Set Externally
    • Populating a Row Set using Execute
    • Persisting Row Set Changes to Database
    • Transmitting RowSets
    • Typical Architecture
  13. Stored Procedures
    • Stored Procedures Defined
    • Stored Procedure Languages
    • Java Stored Procedures
    • Using Stored Procedures
    • Callable Statement Syntax
    • Stored Procedure Parameters
    • Executing Calls
    • A Complete Example
    • The execute() Method
    • Advantages of Stored Procedures
    • Java Stored Procedures
  14. Database Metadata
    • MetaData
    • DatabaseMetaData
    • Finding All the Tables and Columns
    • Result Set Metadata
    • ResultSetMetaData
    • Using ResultSetMetadata
  15. Server-side JDBC
    • A Brief Introduction to JNDI
    • Using JNDI to Find Data Sources
    • DataSources
    • Creating a Data Source
    • Pooled Connections
    • Transactional Data Sources
    • Getting a Transactional Connection