Презентация на тему 7. Java databases and JDBC 2. JDBC Database Access JDBC

Презентация на тему Презентация на тему 7. Java databases and JDBC 2. JDBC Database Access JDBC, предмет презентации: Информатика. Этот материал содержит 40 слайдов. Красочные слайды и илюстрации помогут Вам заинтересовать свою аудиторию. Для просмотра воспользуйтесь проигрывателем, если материал оказался полезным для Вас - поделитесь им с друзьями с помощью социальных кнопок и добавьте наш сайт презентаций ThePresentation.ru в закладки!

Слайды и текст этой презентации

Слайд 1
7. Databases and JDBC2. JDBC Database Access
Текст слайда:

7. Databases and JDBC

2. JDBC Database Access


Слайд 2
JDBC BasicsThe JDBC API is a Java API that can access
Текст слайда:

JDBC Basics

The JDBC API is a Java API that can access any kind of tabular data, especially data stored in a Relational Database
JDBC Product Components
The JDBC API 
JDBC Driver Manager 
JDBC Test Suite 
JDBC-ODBC Bridge 

*

Infopulse Training Center


Слайд 3
Eclipse & Derby ProjectsEclipse: New -> Java ProjectFill project name and
Текст слайда:

Eclipse & Derby Projects

Eclipse: New -> Java Project
Fill project name and click next
Click “Add External JARs” button in the libraries tab
Find derby.jar (usually in Program Files \
Java\jdk1.7.0_xx\db\lib folder) and click Open button
Click Finish button

*

Infopulse Training Center


Слайд 4
Processing SQL Statements with JDBCEstablishing a connectionCreate a statementExecute the queryProcess
Текст слайда:

Processing SQL Statements with JDBC

Establishing a connection
Create a statement
Execute the query
Process the ResultSet object
Close the connection

*

Infopulse Training Center


Слайд 5
Basic Example Ipackage app;import java.sql.*;public class E721JDBCBasics {	public static void main(String[]
Текст слайда:

Basic Example I

package app;
import java.sql.*;
public class E721JDBCBasics {
public static void main(String[] args) {
try{
// jdbc statements body (see next slide)
}
catch(SQLException ex){
System.out.println("Error " + ex.getMessage());
}
}
}

*

Infopulse Training Center


Слайд 6
Basic Example IIConnection con = DriverManager.getConnection 	(
Текст слайда:

Basic Example II

Connection con = DriverManager.getConnection ("jdbc:derby:C:\\VMO\\Курсы\\Projects\\CM");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(
"SELECT name, charge FROM merchant");
while (rs.next()){
String nm = rs.getString("name");
double p = rs.getDouble(2);
System.out.println(nm + " " + p);
}
con.close();
See 721JDBCBasics project for the full text

*

Infopulse Training Center


Слайд 7
Processing SQL Statements with JDBCEstablishing a connectionCreate a statementExecute the queryProcess
Текст слайда:

Processing SQL Statements with JDBC

Establishing a connection
Create a statement
Execute the query
Process the ResultSet object
Close the connection

*

Infopulse Training Center


Слайд 8
Establishing a connection.A JDBC application connects to a target data source
Текст слайда:

Establishing a connection.

A JDBC application connects to a target data source using one of two classes:
DriverManager - connects an application to a data source, specified by a database URL
DataSource - allows details about the underlying data source to be transparent to your application

*

Infopulse Training Center


Слайд 9
Connection examplepublic static Connection getConnection() throws 	IOException, 							SQLException{	Connection conn = null;
Текст слайда:

Connection example

public static Connection getConnection() throws IOException, SQLException{
Connection conn = null;
Properties props = new Properties();
InputStreamReader in = new InputStreamReader(new FileInputStream("appProperties.txt"), "UTF-8");
props.load(in);
in.close();

String connString = props.getProperty("DBConnectionString");
conn = DriverManager.getConnection(connString);
return conn;
}
See 722JDBCConnection project for the full text

*

Infopulse Training Center


Слайд 10
Processing SQL Statements with JDBCEstablishing a connectionCreate a statementExecute the queryProcess
Текст слайда:

Processing SQL Statements with JDBC

Establishing a connection
Create a statement
Execute the query
Process the ResultSet object
Close the connection

*

Infopulse Training Center


Слайд 11
Creating StatementsKinds of statements:Statement - simple SQL statements with no parametersPreparedStatement
Текст слайда:

Creating Statements

Kinds of statements:
Statement - simple SQL statements with no parameters
PreparedStatement (extends Statement) - precompiling SQL statements that might contain input parameters
CallableStatement (extends PreparedStatement) - used to execute stored procedures that may contain both input and output parameters

*

Infopulse Training Center


Слайд 12
Insert New Customer Example IConnection con = getConnection();String sql =
Текст слайда:

Insert New Customer Example I

Connection con = getConnection();
String sql = "INSERT INTO customer (name, address, ";
sql += " email, ccNo, ccType, maturity) values(";
sql += " 'Clar Nelis', 'Vosselaar st. 19, Trnaut, Belgium', ";
sql += " 'Clar@adw.com', '11345694671231', ";
sql += " 'MasterCard', '2014-07-31') ";
Statement stmt = con.createStatement();
stmt.executeUpdate(sql);
con.close();
See 723SimpleInsert project for the full text


Слайд 13
Prepared StatementsUsually reduces execution time (the DBMS can just run the
Текст слайда:

Prepared Statements

Usually reduces execution time (the DBMS can just run the PreparedStatement SQL statement without having to compile it first)
Used most often for SQL statements that take parameters. You can use the same statement and supply it with different values each time you execute it

*

Infopulse Training Center


Слайд 14
Insert New Customer Example IIpublic void addCustomer(String name, String address, String
Текст слайда:

Insert New Customer Example II

public void addCustomer(String name, String address, String email, String ccNo, String ccType, java.sql.Date dt) throws SQLException, IOException{
Connection con = getConnection();
String sql = "INSERT INTO customer (name, address, ";
sql += " email, ccNo, ccType, maturity) values(?,?,?,?,?,?) ";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, name);
stmt.setString(2, address);
stmt.setString(3, email);
stmt.setString(4, ccNo);
stmt.setString(5, ccType);
stmt.setDate(6, dt);
stmt.executeUpdate();
con.close();
}
See 724PreparedInsert project for the full text


Слайд 15
SQL DateFrom GregorianCalendar:GregorianCalendar c = new GregorianCalendar(2012, 03, 31);java.util.Date dt =
Текст слайда:

SQL Date

From GregorianCalendar:
GregorianCalendar c = new GregorianCalendar(2012, 03, 31);
java.util.Date dt = c.getTime();
java.sql.Date dt1 = new java.sql.Date(dt.getTime());
From LocalDate:
LocalDate dt1 = LocalDate.of(2015, 2, 15);
Instant instant = dt1.atStartOfDay(ZoneId.systemDefault()).toInstant();
java.sql.Date dt = new java.sql.Date(java.util.Date.from(instant).getTime());



*

Infopulse Training Center


Слайд 16
Processing SQL Statements with JDBCEstablishing a connectionCreate a statementExecute the queryProcess
Текст слайда:

Processing SQL Statements with JDBC

Establishing a connection
Create a statement
Execute the query
Process the ResultSet object
Close the connection

*

Infopulse Training Center


Слайд 17
Executing QueriesexecuteQuery: Returns one ResultSet objectexecuteUpdate: Returns an integer representing the
Текст слайда:

Executing Queries

executeQuery: Returns one ResultSet object
executeUpdate: Returns an integer representing the number of rows affected by the SQL statement
execute: Returns true if the first object that the query returns is a ResultSet object

*

Infopulse Training Center


Слайд 18
Exercise: Get Merchant’s Total Show total for a merchant which id
Текст слайда:

Exercise: Get Merchant’s Total

Show total for a merchant which id is given in the first command string parameter.

*

Infopulse Training Center


Слайд 19
Exercise: Get Merchant’s Total See 725Query project for the full text.*Infopulse Training Center
Текст слайда:

Exercise: Get Merchant’s Total

See 725Query project for the full text.

*

Infopulse Training Center


Слайд 20
Processing SQL Statements with JDBCEstablishing a connectionCreate a statementExecute the queryProcess
Текст слайда:

Processing SQL Statements with JDBC

Establishing a connection
Create a statement
Execute the query
Process the ResultSet object
Close the connection

*

Infopulse Training Center


Слайд 21
Processing ResultSet ObjectsYou access the data in a ResultSet object through
Текст слайда:

Processing ResultSet Objects

You access the data in a ResultSet object through a cursor
Note that this cursor is not a database cursor
This cursor is a pointer that points to one row of data in the ResultSet object
Initially, the cursor is positioned before the first row
You call various methods defined in the ResultSet object to move the cursor

*

Infopulse Training Center


Слайд 22
Exercise: List of MerchantsCreate an application to display list of merchants:Create
Текст слайда:

Exercise: List of Merchants

Create an application to display list of merchants:
Create a Merchant class with fields necessary for saving merchant’s data and getStringForPrint method for displaying these data
Create getMerchants method for filling list of merchants from a corresponding data table
Process this list of merchants to display it on the system console

*

Infopulse Training Center


Слайд 23
Exercise: List of MerchantsSee 726MerchList project for the full text.*Infopulse Training Center
Текст слайда:

Exercise: List of Merchants

See 726MerchList project for the full text.

*

Infopulse Training Center


Слайд 24
Processing SQL Statements with JDBCEstablishing a connectionCreate a statementExecute the queryProcess
Текст слайда:

Processing SQL Statements with JDBC

Establishing a connection
Create a statement
Execute the query
Process the ResultSet object
Close the connection

*

Infopulse Training Center


Слайд 25
Closing ConnectionsCall the method Statement.close to immediately release the resources it
Текст слайда:

Closing Connections

Call the method Statement.close to immediately release the resources it is using.
When you call this method, its ResultSet objects are closed
finally {
if (stmt != null) { stmt.close(); }
}

*

Infopulse Training Center


Слайд 26
Closing Connections in Java 7Use a try-with-resources statement to automatically close
Текст слайда:

Closing Connections in Java 7

Use a try-with-resources statement to automatically close Connection, Statement, and ResultSet objects
try (Statement stmt = con.createStatement()) {
// ...
}

*

Infopulse Training Center


Слайд 27
Three-tired application*Infopulse Training Center
Текст слайда:

Three-tired application

*

Infopulse Training Center


Слайд 28
Handling SQLExceptionsThe SQLException contains the following informationA description of the error
Текст слайда:

Handling SQLExceptions

The SQLException contains the following information
A description of the error - getMessage()
A SQLState standard code – getSQLState()
An error code (DB specific) – getErrorCode()
A cause (Throwable objects that caused the SQLException instance to be thrown) – getCause()
A reference to any chained exceptions – getNextException()


*

Infopulse Training Center


Слайд 29
Data TierSeparation of concerns principle:business and presentation tiers should not know
Текст слайда:

Data Tier

Separation of concerns principle:
business and presentation tiers should not know anything about database structure
SQLexceptions should be processed within data tier

*

Infopulse Training Center


Слайд 30
Exercise: Add PaymentCreate a method to add new payment info to the database*Infopulse Training Center
Текст слайда:

Exercise: Add Payment

Create a method to add new payment info to the database

*

Infopulse Training Center


Слайд 31
Exercise: Add PaymentSee 727AddPayment project for the full text.*Infopulse Training Center
Текст слайда:

Exercise: Add Payment

See 727AddPayment project for the full text.

*

Infopulse Training Center


Слайд 32
TransactionsThese statements should take effect only together:// Insert new record into
Текст слайда:

Transactions

These statements should take effect only together:
// Insert new record into PAYMENT table
// Update corresponding record in MERCHANT table
The way to be sure that either both actions occur or neither action occurs is to use a transaction

*

Infopulse Training Center


Слайд 33
Using Transactionspublic static void addPayment(Connection conn, java.util.Date dt, int customerId, int
Текст слайда:

Using Transactions

public static void addPayment(Connection conn, java.util.Date dt, int customerId, int merchantId, String goods, double total) throws SQLException{
conn.setAutoCommit(false);
double charge = getCharge(conn, merchantId);
if (charge < 0.0) return;
// Insert new record into PAYMENT table
// Update corresponding record in MERCHANT table
conn.commit();
}

*

Infopulse Training Center


Слайд 34
Rollback MethodCalling the method rollback terminates a transaction and returns any
Текст слайда:

Rollback Method

Calling the method rollback terminates a transaction and returns any values that were modified to their previous values.
If you are trying to execute one or more statements in a transaction and get a SQLException, call the method rollback to end the transaction and start the transaction all over again.

*

Infopulse Training Center


Слайд 35
Exercise: Get Income ReportCreate a report about CM system’s income got from each merchant.*Infopulse Training Center
Текст слайда:

Exercise: Get Income Report

Create a report about CM system’s income got from each merchant.

*

Infopulse Training Center


Слайд 36
Exercise: Get Income ReportSee 728MerchantCharge project for the full text.*Infopulse Training Center
Текст слайда:

Exercise: Get Income Report

See 728MerchantCharge project for the full text.

*

Infopulse Training Center


Слайд 37
Object-Relational MappingSQL DBMS can only store and manipulate scalar values such
Текст слайда:

Object-Relational Mapping

SQL DBMS can only store and manipulate scalar values such as integers and strings organized within tables
Data management tasks in object-oriented programming are typically implemented by manipulating objects that are almost always non-scalar values
The problem is translating the logical representation of the objects into an atomized form that is capable of being stored on the database

*

Infopulse Training Center


Слайд 38
ORM Advantages&DisadvantagesAdvantage:often reduces the amount of code that needs to be writtenDisadvantage:performance problem*Infopulse Training Center
Текст слайда:

ORM Advantages&Disadvantages

Advantage:
often reduces the amount of code that needs to be written
Disadvantage:
performance problem

*

Infopulse Training Center


Слайд 39
Some Java ORM SystemsHibernate, open source ORM framework, widely usedMyBatis, formerly
Текст слайда:

Some Java ORM Systems

Hibernate, open source ORM framework, widely used
MyBatis, formerly named iBATIS, has .NET port
Cayenne, Apache, open source for Java
Athena Framework, open source Java ORM
CarbonadoCarbonado, open source framework, backed by Berkeley DBCarbonado, open source framework, backed by Berkeley DB or JDBC
EclipseLink, Eclipse persistence platform
TopLink by Oracle
QuickDB ORM, open source ORM framework (GNU LGPL)

*

Infopulse Training Center


Слайд 40
Manualshttp://docs.oracle.com/javase/tutorial/jdbc/index.html*Infopulse Training Center
Текст слайда:

Manuals

http://docs.oracle.com/javase/tutorial/jdbc/index.html

*

Infopulse Training Center


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика