Lesson 5 1. JNI, cont 2. JDBC 3. Intro to Graphics – Image Processing.

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

Lesson 5 1. JNI, cont 2. JDBC 3. Intro to Graphics – Image Processing.
Java Database Connectivity (JDBC). 2/24 JDBC (Java DataBase Connectivity) - provides access to relational database systems JDBC is a vendor independent.
JDBC - Java Database Connectivity The objectives of this chapter are: To describe the architecture of JDBC To outline the classes in the java.sql package.
Distributed Application Development B. Ramamurthy.
1 JDBC Java Database Connectivity. 2 c.pdf
Fundamentals, Design, and Implementation, 9/e Chapter 11 Managing Databases with SQL Server 2000.
1 C. Shahabi Application Programming for Relational Databases Cyrus Shahabi Computer Science Department University of Southern California
1 Lecture 29 More on JDBC Overview  Objectives of this lecture  JDBC and its Drivers  Connecting to Databases (Java’s Connection class)  Querying a.
1 Design patterns Lecture 4. 2 Three Important skills Understanding OO methodology Mastering Java language constructs Recognizing common problems and.
1 Foundations of Software Design Lecture 27: Java Database Programming Marti Hearst Fall 2002.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Dale Roberts 8/24/ Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI
Advance Computer Programming Java Database Connectivity (JDBC) – In order to connect a Java application to a database, you need to use a JDBC driver. –
Getting connected.  Java application calls the JDBC library.  JDBC loads a driver which talks to the database.  We can change database engines without.
Java Database Connectivity (JDBC) Francisco Pajaro Saul Acosta Nahum Quezada Manuel Rubio.
Java Database Connectivity (JDBC). Introduction Database –Collection of data DBMS –Database management system –Storing and organizing data SQL –Relational.
Information storage: Introduction of database 10/7/2004 Xiangming Mu.
1 Java Database Connection (JDBC) There are many industrial-strength DBMS's commercially available in the market. Oracle, DB2, and Sybase are just a few.
© Wang Bin 2004 JDBC ----Java Database Connectivity.
Beginning Databases with JDBC Mike Bradley Adapted from and notes by Kevin Parker, Ph.D.
Java Database Connectivity (JDBC) Introduction to JDBC JDBC is a simple API for connecting from Java applications to multiple databases. Lets you smoothly.
Database Programming in Java Corresponds with Chapter 32, 33.
Lesson 3  JDBC  Intro to Graphics – Image Processing.
Database Technical Session By: Prof. Adarsh Patel.
Web Server Administration Chapter 7 Installing and Testing a Programming Environment.
Designing and Developing WS B. Ramamurthy. Plans We will examine the resources available for development of JAX-WS based web services. We need an IDE,
CONTROLPANEL Java.sql package This package provides the APIs for accessing and processing data which is stored in the database especially relational.
JDBC Java and Databases, including Postgress. JDBC l Developed by Industry leaders l Three main goals: –JDBC should be an SQL-level API –JDBC should capitalize.
JDBC. JDBC stands for Java Data Base Connectivity. JDBC is different from ODBC in that – JDBC is written in Java (hence is platform independent, object.
JDBC Java and Databases. RHS – SOC 2 JDBC JDBC – Java DataBase Connectivity An API (i.e. a set of classes and methods), for working with databases in.
JDBC. Preliminaries Database Database Collection of data Collection of data DBMS DBMS Database management system Database management system Stores and.
Accessing Database using JDBC. JDBC Objectives Gain basic knowledge of Java JDBC Become familiar with the basics of interacting with a database using.
COMP201 Java Programming Topic 15: Database Connectivity JDBC Reading: Chapter 4, Volume 2.
Java Database Connectivity (JDBC). Topics 1. The Vendor Variation Problem 2. SQL and Versions of JDBC 3. Creating an ODBC Data Source 4. Simple Database.
Copyright © 2002 ProsoftTraining. All rights reserved. Building Database Client Applications Using JDBC 2.0.
JDBC. Java.sql.package The java.sql package contains various interfaces and classes used by the JDBC API. This collection of interfaces and classes enable.
JDBC CHAPTER-2. JDBC - Java Database Connectivity. JDBC from Sun Microsystems provides API or Protocol to interact with different databases. With the.
12/6/2015B.Ramamurthy1 Java Database Connectivity B.Ramamurthy.
Li Tak Sing COMPS311F. Database programming JDBC (Java Database Connectivity) Java version of ODBC (Open Database Connectivity) ODBC provides a standard.
DATABASE CONNECTIVITY TO MYSQL. Introduction =>A real life application needs to manipulate data stored in a Database. =>A database is a collection of.
EXAMPLE I An application showing JDBC access to Cloudscape.
JDBC CS 260 Database Systems. Overview  Introduction  JDBC driver types  Eclipse project setup  Programming with JDBC  Prepared statements  SQL.
CSI 3125, Preliminaries, page 1 JDBC. CSI 3125, Preliminaries, page 2 JDBC JDBC stands for Java Database Connectivity, which is a standard Java API (application.
Web Programming MySql JDBC Web Programming.
Access Databases from Java Programs via JDBC Tessema M. Mengistu Department of Computer Science Southern Illinois University Carbondale
Basics of JDBC Session 14.
JDBC (Java Database Connectivity)
JDBC - Java Database Connectivity. JDBC provides Java applications with access to most database systems via SQL The architecture and API closely resemble.
Introduction to JDBC Instructor: Mohamed Eltabakh 1.
JDBC Java and Databases. SWC – JDBC JDBC – Java DataBase Connectivity An API (i.e. a set of classes and methods), for working with databases in.
1 JDBC – Java Database Connectivity CS , Spring 2010.
Intro to JDBC Joseph Sant Applied Computing and Engineering Sciences Sheridan ITAL.
6-1 JAVA DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
Java and database. 3 Relational Databases A relational Database consists of a set of simple rectangular tables or relations The column headings are.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
Introduction to Database Programming with Python Gary Stewart
Database: JDBC Overview
DEPTT. OF COMP. SC & APPLICATIONS
Note: To complete the examples in this section you need access to a database!! Most of the examples work for any database with JDBC drivers. However, connecting.
JDBC – Java Database Connectivity
Database JDBC Overview CS Programming Languages for Web Applications
JDBC.
Mr. Harish Sharma Asst. Professor Dept. of CA & IT SGRRITS Dehradun
Interacting with Database
JDBC – ODBC DRIVERS.
MSIS 655 Advanced Business Applications Programming
Java Database Connectivity
Chapter 11 Managing Databases with SQL Server 2000
Presentation transcript:

Lesson 5 1. JNI, cont 2. JDBC 3. Intro to Graphics – Image Processing

JDBC Using Java to issue SQL commands

Basic Database Concepts  When to use flat files vs. database? –Data is simple, static, volume is small, accessed by one process at a time on single system. –Cost of database software is prohibitive –Extremely high performance –Database is overkill –Other?

Databases  Built-in methods to source, access, search data.  Application independent of internal data representation – much lower maintenance costs.  Run in server mode, provides security  Built-in support for transactions, concurrency, etc.

Relational Databases  Composed of tables each of which has rows and columns.  Each row or record represents an entity.  Each column or field represents an attribute.  Like an array of structures in C or Java.  Other concepts: primary key, compound key, artificial key, foreign key.

Object-Oriented Databases  Not clear exactly when a db officially becomes OO.  Provide direct support for managing objects and relationships among them – data + methods.  Gaining popularity but still far less common than relational counterpart.  Many SQL vendors support some object extensions.

SQL  Used to stand for “Structured Query Language”.  Standard language for conversing with relational databases.  Composed of three sub-languages: –Data Definition Language (DDL) –Data Control Language (DCL) –Data Manipulation Language (DML)

DDL  Lets you define and revise the structure of relational databases. Examples: Create Database name [options] Create Table name ( columname datatype, … )  Only simple datatypes supported.

DCL  Lets user specify data security and integrity mechanisms that safeguard data  Not very standardized – varies from vendor to vendor.

DML  Functionality for retrieving, manipulating, deleting, sorting, searching data. Examples just to get flavor: –Select * From table; –Select columns From tables [Where condition]; –Select ItemNo, Qty From InvoiceLine; –Insert Into InvoiceLine; (InvoiceNo, LineNo, CustomerNo) Values (101, 100, 10);

How to use SQL  Database vendor typically supplies GUI front-end for issuing SQL queries.  Also usually supplies a scripting front-end for issuing SQL commands. –Called Interactive SQL, good for developing and debugging queries –Of limited use because cannot share data with program variables.  From within a programming language –Embedded SQL

JDBC  Java’s version of Embedded SQL  Interface fully specified in the standard Java language (ie J2SE).  Independent of database vendor’s specific SQL implementation.  Vendor supplies middleware driver to convert JDBC calls to native db hooks.  Similar to Microsoft’s ODBC

Advantages to JDBC model  Application can fairly easily migrate from one DBMS to another. Almost no code needs to be rewritten.  Easy to use since db requests return easy-to- manipulate java objects, with simple methods, java exceptions, etc.

Disadvantages of JDBC  Slower  Cannot take advantage of all SQL extensions of a particular vendor (though it can take advantage of many).

Using JDBC on cluster  To use JDBC on the cs cluster, you’ll need to either install a database or use one of our dbase servers (mysql or sybase).  In this example I’ll show how to use the myql server.  First, you must register for a mysql account  After registering, try logging on and creating a few tables. You should have a database under your login name in which you can create the tables.

Using JDBC  Basic steps for connecting to dbase server 1.Load JDBC driver 2.Define the connection object 3.Establish the connection 4.Create the statement object 5.Execute a query or update with statement object 6.Process the returned ResultSet 7.Close the Connection

Loading the Driver  Each DBMS vendor must supply the driver class which converts JDBC calls to their own native db calls.  This needs to be loaded only once per application.  When loaded, its static initializer is called and the driver is registered with the DriverManager.  Best technique (assuming our sql driver) Class.forName(“org.gjt.mm.mysql.Driver”); –note: you’ll need a copy of mysql-connector-java stable-bin.jar in your classpath.

Define the Connection  Each vendor supplies info on what connection URL to use.  For mysql installed on cluster the following works: String conURL = “jdbc:mysql://dbserver/mydatabase”;

Establish the Connection  Issue the following command to create a single connection to the database java.sql.Connection conn = DriverManager.getConnection(URL);

Create a Statement Object  Once a connection object is obtained, you must use it to create a Statement. import java.sql.Statement; Statement st = conn.createStatement();

Execute Query  To execute standard SQL commands, you need to pass a valid SQL String to the executeQuery method of the statement object. A java object of type ResultSet is returned.  Import java.sql.ResultSet; String query = “SELECT * FROM table”; ResultSet res = st.executeQuery(query);

Process the Results  The ResultSet object is java’s representation of the data returned from the db query. The most typical way of manipulating the ResultSet is something like: While (res.next()) { System.out.println(res.getString(1) + “ “ + res.getString(2) + …);  Study the ResultSet API to see all of the ways in which the data can be accessed, modified, modified locally/globally, etc.

ResultSet in more detail  Like an Iterator or Enumerator.  However, must call next() once to move to first row.  Each call to next then moves to subsequent row.  For the current ResultSet row, there are two ways to access the values of the columns: –by String name Xxx getXxx(int columnNumber); –by column number (starting at 1) Xxx getXxx(String columName);

Execute update  To execute an update, pass appropriate SQL string to executeUpdate method: –e.g. st.executeUpdate(“UPDATE Books SET Price = Price – 5.00”);  Note that execute can be used for both updates and queries, though it is clearer to use one or the other.  executeUpdate returns count of rows modified by update procedure.

Transactions  Transactions are sequences of commands that are only executed if all commands in sequence successfully complete.  If the commands complete successfully, the are commited.  If any command fails, the commands are rolled back.  Fundamental to databases/SQL. How to do with JDBC?

Transactions with JDBC  By default, each command is independently executed and commited.  To change this, execute the following command on a connection object con:con.setAutoCommit(false); st.executeUpdate(command1); st.executeUpdate(command2); con.commit()/con.rollback();

Java/SQL datatype mapping SQL data typeJava data type INTEGERint SMALLINTshort NUMERIC(m,n)java.sql.Numeric FLOAT(n)double REALfloat DOUBLEdouble CHARACTER(n)String VARCHAR(n)String

Java/SQL datatype mapping BOOLEANboolean DATEjava.sql.Date TIMEjava.sql.Time TIMESTAMPjava.sql.Timestamp BLOBjava.sql.Blob CLOBjava.sql.Clob ARRAYjava.sql.Array

Other methods of interest  java.sql.Statement –void cancel(); Aysnchronously cancels an executing SQL request.  java.sql.ResultSet –int findColumn(String columName); gives the column index for column columName -void close(); closes the current result set.

SQLException methods  java.sql.SQLException –String getSQLState(); –int getErrorCode() gets the vendor-specific exception code –SQLException getNextException(); gets the Exception chained to this one for more specific information

Introduction to awt Graphics Reading, displaying images

Awt Image processing  Java has recently added many classes for simplifying image manipulation.  We’ll start by looking at some of these in the context of howto’s for simple things –reading a jpg, gif, etc. from a file –displaying jpg, gif, etc. to a graphics window –constructing an image from raw pixels –manipulating individual pixesl of an image –writing an image to a file (see course examples)

Reading an image  Easiest way to read an image file. Use static read method in javax.image.ImageIO class: BufferedImage img = ImageIO.read(new File(“name”));  Note that “name” can be name of one of many standard Image file formats.

Writing an image  Writing an image is as easy as reading it. Simple use the ImageIO.write method: BufferedImage image; ImageIO.write(new File(name), “gif”,image);  List of supported output file types is can be obtain from: –String[] ImageIO.getWriterFormatNames();

Manipulating image bytes  It is possible to set/access each image pixel independently: image = new BufferedImage(w,h,BufferedImage.TYPE_INT_ARGB); WritableRaster raster = image.getRaster(); raster.setPixel(ival,jval,{rval,gval,bval,alphval}); or int pixel[4]; raster.getPixel(ival,jval,pixel);

Transforming images  It is also possible to transform images without accessing pixels using classes that implement the ImageOp interface.  See ImageProcessor.java example