Upload
web360
View
134
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Dịch vụ : Thiết kế website (http://www.web360.com.vn/) - Dịch vụ thiết kế web khách sạn (http://web360.com.vn/Thiet-ke-Web-khach-san.html) Web360 công ty thiết kế web với nhiều năm kinh nghiệm , chúng tôi cung cấp các giải pháp dành cho những khách hàng có nhu cầu xây dựng website để đẩy mạnh công việc kinh doanh, mở rộng các kênh bán hàng, tăng cường khả năng giao tiếp với khách hàng hoặc muốn khẳng định đẳng cấp hoặc thương hiệu của công ty. Thiết kế web giá rẻ nhất đà nẵng(http://web360.com.vn/Thiet-ke-web-gia-re-da-nang.html) DỊCH VỤ THIẾT KẾ WEB CHUYÊN NGHIỆP CỦA CHÚNG TÔI NHƯ SAU : 1. Giao diện website được thiết kế đẹp mắt, chuyên nghiệp. 2. Website được nghiên cứu kỹ các đối tượng khách hàng, phân tích nhu cầu, thói quen và hành vi của họ khi duyệt web để xây dựng các chức năng và nội dung phù hợp nhằm biến họ trở thành khách hàng thực sự của bạn. 3. Nghiên cứu rất kỹ các đối thủ cạnh tranh của bạn trên mạngi internet và sẽ tư vấn cho bạn cách để bạn vượt qua họ. 4. Các chuyên gia của chúng tôi cũng sẽ tư vấn cho bạn cách viết nội dung và sử dụng những từ khóa có giá trị nhằm thu hút và giữ chân khách hàng, đồng thời tạo thiện cảm cho các công cụ tìm kiếm. 5. Tối ưu hóa công cụ tìm kiếm chuẩn SEO google Liên hệ với chúng tôi để được tư vấn thiết kế web tại Đà Nẵng tận tình nhất ! Thiet ke web da nang - Cong ty thiet ke web tai da nang (http://web360.com.vn/Thiet-ke-web-Da-Nang.html) Liên hệ : 090.52.52.360 - 0905.595.360(Mr Hoàng) Email : [email protected] ([email protected]) Website : www.web360.com.vn (http://web360.com.vn/) Địa chỉ : 44 Ngô Chi Lan - Q.Hải Châu - TP.Đà Nẵng Chúng tôi luôn nỗ lực đem lại cho khách hàng những sản phẩm và dịch vụ tốt nhất ! dịch vụ,thiết kế,thiết kế web,chuyên nghiệp,dịch vụ thiết kế,dịch vụ thiết kế web đà nẵng
Citation preview
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Java Database Connectivity
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Review
A session is a long-term connection that utilizes the session layer of a network layer protocol.
A session exists for each connection between a user and an instance of a running application.
Session acts as a link between the server and the client events. The session helps the Web server to distinguish between different users.
JSP uses the sessions to store unique data of a particular client connected to a Web application. The different methods of session object include: getAttribute() getAttributeNames() getCreationTime() getId() getLastAccessedTime() getMaxInactiveInterval() removeAttribute() setAttribute() setMaxInactiveInterval()
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Review – Contd…
Session tracking maintains the session information and keeps track of the multiple requests made by the client.
The session tracking feature in the servlets or JSP container maintains the state of a Web browser.
Cookies are text files that are stored on the user computer, and contain the session Id of the user sent by the Web server.
The cookie is sent back to the Web server with every subsequent request made by the user in the same session.
The information in the cookies helps the Web server to identify the user, as the value of each cookie is unique.
The session ID keeps track of requests made within the same session. The session ID is encoded in the URLs that are created by the JSP pages. URL Rewriting works with Web browsers that do not support cookies, or the
cookies that are disabled on a Web browser. The hidden field is used to store information about a session. In addition, the
hidden form field helps to carry the information from one HTML page to another.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Objectives
Explain Java database connectivity Describe various JDBC drivers Explain use of JDBC in JSP Describe different database operations Explain use of JDBC connectivity through
JavaBeans Describe database connection pooling
process
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Java Database Connectivity
Provides a programming interface that is used to request a connection between the application and database
JDBC API executes SQL statements and sends the results through a single API
JDBC API executes simple SQL queries in the Java code to
retrieve data from database
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Java Database Connectivity
Five steps
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Loading the Driver
The driver is a Java class that translates Java statements to SQL statements
The Class.forName() method is used to load the driver
A driver class needs to be loaded to load the driver
Syntax
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Connecting to Database
Connection con= DriverManager.getConnection(jdbc:odbc:Datasource, “userid”, “pwd” )
The java.sql package provides classes and interfaces that are used to interact with the database
The classes send the SQL queries to the database and process the queries
Syntax
The JDBC classes for creating a connection are: Java.sql.Driver Java.sql.DriverManager Java.sql.Connection
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Create Statement
Sends queries and command to the database Created from the Connection object Syntax
Statement stat = con.createStatement()
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Execute Query
Used to send SQL queries to the database Returns an object of type ResultSet ResultSet() object provides methods that are used to
access data from data source Syntax
String query = “Select * from table_name”;ResultSet resultset = stat.executeQuery(query);
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Processing Results
next() method of the ResultSet object is used to process the results from the database
while(rs.next()){rs.getRow();result += "<tr>";for ( int i = 1; i <= columns; i++){result += "<td>" + rs.getObject(i).toString() + "</td>";}result += "</tr>";}
Traversing through records using for loop
Points the cursor to next row
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
ResultSet Object Methods
Methods DescriptiongetString() Takes column number as an argument and returns
value from the specified column number as a string to the ResultSet object
getInt() Takes column number as an argument and returns the value from the specified column number as an integer to the ResultSet object
getFloat() Takes column number as an argument and returns the value from the specified column number as float type to the ResultSet object
getDate() Takes column number as an argument and returns the value from the specified column number as java.sql.Date to the ResultSet object
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
ResultSet Object Methods-Cont…
Methods DescriptionfindColumn() Takes a column name as a string parameter
and returns the column index of the specified column name
wasNull() Returns true if the last column value read was SQL NULL
getMetaData() Returns the information about the columns of ResultSet object in a ResultSetMetaData class
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
getMetaData() methods
Methods Syntax Description
getColumnCount()
int getColumnCount()
Returns the number of columns in the ResultSet object
getColumnName()
String getColumnName(int column)
Takes column number as a parameter and returns the designated column name
getColumnType()
int getColumnType(int column)
Takes column number as a parameter and returns the designated column’s SQL type from java.sql.Types. The types include Array, char, Integer, Date, and Float
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
getMetaData() Methods-Cont…Methods Syntax Description
isReadOnly() boolean isReadOnly(int column)
Takes the column number as a parameter and returns true if the designated column is not writable
isSearchable() Boolean isSearchable(int column)
Takes column number as a parameter and returns true if the specified column can be used in where clause.
isNullable() int isNullable(int column)
Returns the nullability status of the specified column. The nullability status includes, columnNullable, columnNoNulls, and columnNullableUnknown
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
JDBC Connectivity - Code Snippet
<html><head><title>DB Test</title></head><body><%@ page language="java" import="java.sql.* " %><%try{ out.println("loading driver...<br>");Class.forName("sun.jdbc.odbc.JdbcOdbcDriver ");out.println("connecting...<br>");Connection con=
DriverManager.getConnection(jdbc:odbc:Datasource, "userid ", "pwd ")
out.println("querying database...<br>");Statement stat = con.createStatement();String query = "Select * from table_name ";ResultSet rs = statement.executeQuery(query);
Importing Java.sql.* package
Loading the driver
Creating Connection object
Creating Statement
Executing the query
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
JDBC Connectivity - Code Snippet Cont…
while (rs.next()){out.println(rs.getString(1)+ "<br>");}rs.close();Stat.close();c.close();}catch(Exception e){out.println("ERROR! "+e.getMessage());}%></body></html>
Processing results
Closing connections
Catch exception and display error message
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
JDBC Drivers Translates Java statements to SQL statements Helps applications to interact with the database, using Java’s
built-in Driver Manager JDBC driver manager maintains a list of drivers created for
different databases JDBC drivers connect the Java application to the driver specified
in the Java program Provides Java applications that are DBMS independent The four types of JDBC drivers are:
JDBC ODBC Bridge driver Native API driver Network-protocol Driver Native protocol driver
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
JDBC ODBC Bridge Driver
Type 1 driver Translates JDBC API to ODBC API Enables the Java applications to interact
with any database Provides platform dependence, as JDBC
ODBC bridge driver uses ODBC JDBC-ODBC bridge is useful when Java
driver is not available for a database
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Native API Driver
Type 2 driver Provides access to the database through C/C++ Developed using native code libraries Native code libraries provide access to the
database, and improve the performance Java application sends a request for database
connectivity as a normal JDBC call to the Native API driver
Establishes the call, and translates the call to the particular database protocol that is forwarded to the database
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Network Protocol Driver
Type 3 driver Communicates with the middle
layer component that provides data connectivity
Manages multiple Java applications connecting to
different databases
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Native Protocol Driver
Type 4 driver Communicates directly with the
database using Java sockets Improves the performance as
translation is not required Converts JDBC queries into
native calls used by the particular RDBMS
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Using JDBC in JSP
The java.sql.* package provides database access in Java
JDBC can be used in JSP by inserting JDBC query in the scriplet code
After compilation, the scriplet code that contains the query is placed in the jspService() method
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Database Operations Accessing database requires JDBC code to perform database
operations The JDBC code includes queries for selecting, updating, inserting, or
deleting data from the database A connection object needs to be created for database access The Connection object is used to generate SQL statements, which
perform database operations
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Basic Database Operations
Database Operations Description
Insert Adds the specified data in the database on execution of the SQL query
Update Edits the specified data in the database on execution of query
Delete Removes the specified data from the database on execution of the query
Select Retrieves the specified data from database on execution of query
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
JDBC Connectivity through JavaBeans
JavaBeans components are reusable Java classes, and can be put together into applications
JDBC connectivity through JavaBeans is an efficient way for interacting with database
The JDBC components facilitates interaction of Java Swing components with a database
JDBC connectivity through JavaBeans provides database access by inserting the JDBC code in scriplets
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
JDBC Connectivity through JavaBeans
<%@ page import="java.sql.* " %><jsp:useBean id="Account" class="AccountBean"><%Connection connection = null;Statement statement = null;ResultSet results = null;AccountBean Account = new AccountBean();//code for JDBC%></jsp:useBean>//html code to display the results
Import Java class
Initializing variables
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Database Connection Pooling Connection pooling is a process that manages multiple
database connection requests Connection pooling process increases the speed of data
access, and reduces the number of database connections for an application
Connection pooling process helps in improving the performance of application
Connection pooling tasks include: Pre-allocate connections Manage available connections Allocate new connections Close connections
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Summary The JDBC programming interface is used to request a connection with database to retrieve
data The JDBC API contains some classes and interfaces that connect an application to a database
using DBMS/RDBMS, and execute the SQL queries The Class.forName() method takes string as a parameter which is used to load the driver java.sql.DriverManager maintains a list of drivers created for databases and connects the
java application to the required driver java.sql.Connection sends a series of SQL statements to the database and processes the SQL
queries The Statement object is created from the Connection object. The Statement object sends
queries and commands to the database. The executeQuery() method is used to send the SQL queries to the database. The next() method of the ResultSet object is used to process the results from the
database. The methods in ResultSet class include: getString() getInt() getFloat() getDate()
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Summary-Cont… findColumn() wasNull() getMetaData()
The getMetaData()returns the information regarding the columns of ResultSet object in a ResultSetMetaData class. The getMetaData() methods include:
getColumnCount() getColumnName() getColumnType() isReadOnly() isSearchable() isNullable()
JDBC drivers translate Java statements to SQL statements. The JDBC driver manager connect the Java application to the driver specified in the Java
program
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Summary-Cont… JDBC drivers make Java applications DBMS independent. The four types of drivers are:
JDBC-ODBC bridge driver Native API driver Network protocol driver Native protocol driver
The JDBC code includes queries for selecting, updating, inserting, or deleting the required data from the database. The basic database operations are:
Insert data Update data Delete data Select data
Connection pooling is a process that handles multiple database connection requests The tasks of Connection pooling class include:
Pre-allocate connections Manage available connections Allocate new connections Close connections
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3
Q & A