Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fundamentals, Design, and Implementation, 9/e Chapter 14 JDBC, Java Server Pages, and MySQL.

Similar presentations


Presentation on theme: "Fundamentals, Design, and Implementation, 9/e Chapter 14 JDBC, Java Server Pages, and MySQL."— Presentation transcript:

1 Fundamentals, Design, and Implementation, 9/e Chapter 14 JDBC, Java Server Pages, and MySQL

2 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/2 Copyright © 2004 JDBC  JDBC is an alternative to ODBC and ADO that provides database access to programs written in Java

3 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/3 Copyright © 2004 Java Servlet and Applet  An applet is a compiled, machine-independent, Java bytecode program that is transmitted to a browser via HTTP and is invoked using the HTTP protocol  A servlet is a Java program that is invoked on the server to respond to HTTP requests  Type 3 and Type 4 drivers can be used for both applets and servlets  Type 2 drivers can be used only in servlets

4 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/4 Copyright © 2004 JDBC Components

5 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/5 Copyright © 2004 Using JDBC 1. Load the driver –The driver class libraries need to be in the CLASSPATH for the Java compiler and for the Java virtual machine –Class.forName(string).newInstance(); 2. Establish a connection to the database –Connection conn = DriverManager.getConnection(string); –A connection string includes the literal jdbc:, followed by the name of the driver and a URL to the database

6 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/6 Copyright © 2004 Using JDBC (cont.) 3. Create a statement –Statement stmt = conn.createStatement(); 4. Execute the statement –ResultSet rs = stmt.executeQuery(querystring); –Int result = stmt.executeUpdate(updatestring); –ResultSetMetaData rsMeta = rs.getMetaData();  Both compiled queries and stored procedures can be processed via JDBC using PreparedStatement and CallableStatement objects

7 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/7 Copyright © 2004 Java Server Pages  Java Server Pages (JSP) provide a means to create dynamic Web pages using HTML, XML, and Java  JSP pages provide the capabilities of a full object-oriented language to the page developer –Neither VBScript nor JavaScript can be used in a JSP –JSPs are compiled into machine-independent bytecode

8 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/8 Copyright © 2004 JSP Compilation Process

9 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/9 Copyright © 2004 JSP Pages and Servlets  JSPs are compiled as subclasses of the HTTPServlet class –Consequently, small snippets of code can be placed in a JSP, as well as complete Java programs  To use JSPs, the Web server must implement the Java Servlet 2.1+ and Java Server Pages 1.0+ specifications –Apache Tomcat, an open source product from the Jakarta Project, implements these specifications –Tomcat can work in conjunction with Apache or can operate as a standalone Web server for testing purposes

10 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/10 Copyright © 2004 Using JSP processor  When using JSP processor, e.g. Tomcat, the JDBC drivers, JSP pages, and any Java beans must be located in specified directories  When a JSP is requested, Tomcat ensures that the most recent page is used –If an uncompiled newer version is available, Tomcat will automatically cause it to be parsed and compiled  There is a maximum of one JSP in memory at a time, and JSP requests are executed as a thread of the servlet processor and not as a separate process  The Java code in a JSP can load invoke a compiled Java bean

11 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/11 Copyright © 2004 MySQL  MySQL is an open source DBMS that runs on UNIX, Linux, and Windows  MySQL is easy to use, relatively inexpensive (no license fee), and can provide fast query processing  Limitations –MySQL does not support views, stored procedures, or triggers –Referential integrity can be defined, but it is not enforced by MySQL

12 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/12 Copyright © 2004 MySQL (cont.)  MySQL maintains a data dictionary in a database named mysql  The user and db tables can be queried to determine user permissions  To access MySQL from JDBC, the user account must be granted access to the database, either from any location or from a TCP/IP address that represents the local computer

13 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/13 Copyright © 2004 Concurrency Control  MySQL provides limited support for concurrent processing –There is no support for transactions, i.e., no COMMIT or ROLL BACK statements or transaction isolation  MySQL locks at the table level –This may cause throughput problem –Shared read locks are obtained when processing SELECT statements –Exclusive locks are obtained when processing INSERT, UPDATE, or DELETE

14 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/14 Copyright © 2004 Concurrency Control (cont.)  Users can surround transaction logic with LOCK TABLES and UNLOCK TABLES commands  Deadlock is prevented by allowing, at most, one lock statement to be open at a time  Dirty reads are possible if some applications roll back their own work and do not surround their activity with table locks

15 Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 14/15 Copyright © 2004 Backup and Recovery  MySQL provides limited backup and recovery facilities  There is a backup utility that augments the operating system copy utilities  MySQL maintains a log of commands processed but no before and after images, nor data values from bulk updates or deletions  To restore a database, an older version of the database is copied back, and the commands in the log are reapplied

16 Fundamentals, Design, and Implementation, 9/e Chapter 14 JDBC, Java Server Pages, and MySQL


Download ppt "Fundamentals, Design, and Implementation, 9/e Chapter 14 JDBC, Java Server Pages, and MySQL."

Similar presentations


Ads by Google