Designing a Persistence Framework
|
|
- Ashlyn Higgins
- 6 years ago
- Views:
Transcription
1 Designing a Persistence Framework Working directly with code that uses JDBC is low-level data access; As application developers, one is more interested in the business problem that requires this data access. What we d really like is a framework relieving us of this low-level drudgery. However, how is easy is to build such a framework? There are excellent free, robust, industrial-strength open source persistence frameworks (based on JDBC). For example, Hibernate is very widely used in the Java domain ( It solves most or all problems in object-relational mapping, performance, transaction support, and so forth. The persistence framework is presented here to introduce key concepts in designing such a framework.
2 Persistence Framework First Ideas Mapping There must be some mapping between a class and its persistent store (for example, a table in a database), and between object attributes and the fields in a record. Database mapper A Pure Fabrication database mapper is responsible for retrieving and storing objects of a class.
3 Pattern: Representing Objects as Tables Define a table in an RDB for each persistent object class. Object attributes containing primitive data types (number, string, boolean, and so on) map to columns. name city Manufacturer : Manufacturer name = Now&Zen city = Mumbai MANUFACTURER TABLE name Now&Zen Celestial Shortening city Mumbai San Ramon
4 The problem of identity Java objects define two different notions of sameness : Object identity (roughly equivalent to memory location, checked with a==b) Equality as determined by the implementation of the equals()method (also called equality by value) On the other hand, the identity of a database row is expressed as the primary key value. Neither equals()nor == is naturally equivalent to the primary key value. It s common for several (nonidentical) objects to simultaneously represent the same row of the database, for example, in concurrently running application threads. We might change in a thread the value of attributes with the result the equals() to not work properly.
5 Patterns: Object Identifier It s recommended we use surrogate keys whenever we can t find a good natural key A surrogate key column is a primary key column with no meaning to the user In other words, a key that is not presented to the user and only used for identification of data inside the software system. Object Identifier pattern proposes assigning an object identifier (OID) to each record and object. An OID is usually an alphanumeric value; each is unique to a specific object. Every table will have an OID as primary key, and each object will also have an OID.
6 Manufacturer city name oid : OID : Manufacturer city = Mumbai name = Now&Zen oid = xyz123 MANUFACTURER TABLE OID xyz123 abc345 name Now&Zen Celestial Shortening city Mumbai San Ramon primary key aggregate signifies a referential constraint: a ProductDescription row can't exist without a related Manufacturer row «Table» Manufacturer «PK» OID : char(16) Name : varchar(100) City : varchar(50) 1 PK - primary key FK - foreign key * «Table» ProductDescription «PK» OID : char(16) Description : varchar(100) «FK» Manu_OID : char(16)
7 Accessing a Persistence Service with a Facade PersistenceFacade 1 : SomeClass 1 : PersistenceFacade getinstance() : PersistenceFacade pd = get() get( OID, Class ) : Object put( OID, Object ) // example use of the facade OID oid = new OID("XYZ123"); ProductDescription pd = (ProductDescription) PersistenceFacade.getInstance().get( oid, ProductDescription.class );
8 Mapping Objects: Database Mapper Pattern It proposes making a class that is responsible for materialization, dematerialization, and object caching. A different mapper class is defined for each persistent object class.
9 In UML UML notation: This is a qualified assocation. It means: 1. There is a 1-M association from PersistenceFacade to IMapper objects. 2. With a key of type Class, an IMapper is found (e.g., via a HashMap lookup) PersistenceFacade getinstance() : PersistenceFacade get( OID, Class ) : Object put( OID, Object ) 1 Class 1 «interface» IMapper get(oid) : Object put( OID, Object ) note that the Class as a parameter is no longer needed in this version of get, as the class is "hardwired" for a particular persistent type ProductSpecification Mapper get( OID) : Object put( OID, Object ) Manufacturer Mapper get( OID) : Object put( OID, Object ) each mapper gets and puts objects in its own unique way, depending on the kind of data store and format
10 PersistenceFacade public class PersistenceFacade { public Object get(int oid, Class class) { IMapper mapper = (IMapper) themapperfactory.getmapper(class); // delegate return mapper.get( oid ); public void put(object o) { IMapper mapper = (IMapper) themapperfactory.getmapper(o.getclass()); // delegate mapper.put(o);
11 PersistenceFacade (Cont ed) public class PersistenceFacade { //Finds all the objects maching the template. public List find(object template) { IMapper mapper = (IMapper) themapperfactory.getmapper(template.getclass()); // delegate return mapper.find(template); public void delete (Object o) { //add code
12 MapperFactory public class MapperFactory { public IMapper getmapper (Class class) { if (class.getname().equals("bookstore.bookdescription")) return BookDescriptionMapper.getInstance(); if (class.getname().equals("bookstore.review")) return ReviewMapper.getInstance(); return null; //Better to be done with a hashmap
13 IMapper public interface IMapper { public Object get(int oid); public void put(object o); public int getmaxid(); public java.util.list find(object template);
14 BookDescriptionMapper public class BookDescriptionMapper implements IMapper { private static BookDescriptionMapper instance = null; private ConnectionManager theconnectionmanager; private BookDescriptionMapper() { this.theconnectionmanager = ConnectionManager.getInstance(); public static BookDescriptionMapper getinstance() { if (instance == null) instance = new BookDescriptionMapper(); return instance;
15 public Object get(int oid) { Connection conn = theconnectionmanager.getconnection(); try { Statement stmt = conn.createstatement(); ResultSet rset = stmt.executequery( "SELECT * " + "FROM BookDescription " + "WHERE id = " + oid); rset.next(); BookDescription bd = new BookDescription( rset.getstring("title"), rset.getstring("author"), rset.getstring("isbn"), rset.getstring("publisher"), rset.getint("price") ); stmt.close(); theconnectionmanager.returnconnection(conn); return bd; catch (SQLException ex) { theconnectionmanager.returnconnection(conn); return null;
16 synchronized public void put(object o) { if (! (o instanceof BookDescription) ) return; BookDescription bd = (BookDescription) o; bd.setid (getmaxid()+1); Connection conn = theconnectionmanager.getconnection(); try { PreparedStatement stmt = conn.preparestatement( "INSERT INTO BookDescription (id, title, author, ISBN, publisher, price) " + "VALUES(?,?,?,?,?,?)" ); stmt.setint(1, bd.getid()); stmt.setstring(2, bd.gettitle()); stmt.setstring(3, bd.getauthor()); stmt.setstring(4, bd.getisbn()); stmt.setstring(5, bd.getpublisher()); stmt.setint(6, bd.getprice()); stmt.execute();
17 stmt.close(); theconnectionmanager.returnconnection(conn); catch (SQLException ex) { System.out.println(ex); theconnectionmanager.returnconnection(conn);
18 public int getmaxid() { Connection conn = theconnectionmanager.getconnection(); try { Statement stmt = conn.createstatement(); ResultSet rset = stmt.executequery( "SELECT MAX(id) FROM BookDescription"); rset.next(); int maxid = rset.getint(1); stmt.close(); theconnectionmanager.returnconnection(conn); return maxid; catch (SQLException ex) { theconnectionmanager.returnconnection(conn); return 0;
19 public java.util.list find(object template) { if (! (template instanceof BookDescription) ) return null; BookDescription bd = (BookDescription) template; java.util.list result = new java.util.list(); Connection conn = theconnectionmanager.getconnection(); try { PreparedStatement stmt = conn.preparestatement( "SELECT * " + "FROM BookDescription " + "WHERE " + "title LIKE? AND " + "author LIKE? AND " + "isbn LIKE? AND " + "publisher LIKE? " );
20 String title = (bd.gettitle() == null)? "" : bd.gettitle(); String author = (bd.getauthor() == null)? "" : bd.getauthor(); String isbn = (bd.getisbn() == null)? "" : bd.getisbn(); String publisher = (bd.getpublisher() == null)? "" : bd.getpublisher(); stmt.setstring(1, "%"+title+"%"); stmt.setstring(2, "%"+author+"%"); stmt.setstring(3, "%"+isbn+"%"); stmt.setstring(4, "%"+publisher+"%"); ResultSet rset = stmt.executequery(); while (rset.next()) { BookDescription bd_res = new BookDescription( rset.getstring("title"), rset.getstring("author"), rset.getstring("isbn"), rset.getstring("publisher"), rset.getint("price") ); bd_res.setid(rset.getint("id"));
21 result.add(bd_res); catch (SQLException ex) { System.out.println(ex); theconnectionmanager.returnconnection(conn); theconnectionmanager.returnconnection(conn); if(result.size() > 0) return result; else return null;
22 ConnectionManager public class ConnectionManager { private static ConnectionManager instance = null; private Stack connections; private ConnectionManager () { connections = new Stack(); try { DriverManager.registerDriver (new oracle.jdbc.driver.oracledriver()); catch (Exception ex) { System.out.println(ex); public static ConnectionManager getinstance() { if (instance == null) instance = new ConnectionManager(); return instance;
23 public Connection getconnection() { Connection conn = null; if (!connections.empty()) conn = (Connection) connections.pop(); else { //No one left in the stack, create a new one try { conn = DriverManager.getConnection ("jdbc:oracle:thin:@oracle.csc.uvic.ca:1521:teach", "thomo", password"); catch (SQLException ex) { System.out.println("SQLException: " + ex); return conn; public void returnconnection(connection conn) { if (conn!= null) connections.push(conn);
How to program applications. CS 2550 / Spring 2006 Principles of Database Systems. SQL is not enough. Roadmap
How to program applications CS 2550 / Spring 2006 Principles of Database Systems 05 SQL Programming Using existing languages: Embed SQL into Host language ESQL, SQLJ Use a library of functions Design a
More informationCSC System Development with Java. Database Connection. Department of Statistics and Computer Science. Budditha Hettige
CSC 308 2.0 System Development with Java Database Connection Budditha Hettige Department of Statistics and Computer Science Budditha Hettige 1 From database to Java There are many brands of database: Microsoft
More informationSoftware Design and Analysis CSCI 2040
Software Design and Analysis CSCI 2040 Summarize UML Deployment and Component notation. Design a framework with the Template Method, State, and Command patterns. Introduce issues in object-relational (O-R)
More informationCSE 135. Three-Tier Architecture. Applications Utilizing Databases. Browser. App. Server. Database. Server
CSE 135 Applications Utilizing Databases Three-Tier Architecture Located @ Any PC HTTP Requests Browser HTML Located @ Server 2 App Server JDBC Requests JSPs Tuples Located @ Server 1 Database Server 2
More informationJDBC Drivers Type. JDBC drivers implement the defined interfaces in the JDBC API for interacting with your database server.
JDBC Drivers Type 1 What is JDBC Driver? JDBC drivers implement the defined interfaces in the JDBC API for interacting with your database server. For example, using JDBC drivers enable you to open database
More informationOracle Database 10g Java Web
Oracle Database 10g Java Web 2005 5 Oracle Database 10g Java Web... 3... 3... 4... 4... 4 JDBC... 5... 5... 5 JDBC... 6 JDBC... 8 JDBC... 9 JDBC... 10 Java... 11... 12... 12... 13 Oracle Database EJB RMI/IIOP...
More informationCOP4540 TUTORIAL PROFESSOR: DR SHU-CHING CHEN TA: H S IN-YU HA
COP4540 TUTORIAL PROFESSOR: DR SHU-CHING CHEN TA: H S IN-YU HA OUTLINE Postgresql installation Introduction of JDBC Stored Procedure POSTGRES INSTALLATION (1) Extract the source file Start the configuration
More informationCMPUT 391 Database Management Systems. JDBC in Review. - Lab 2 -
CMPUT 391 Database Management Systems JDBC in Review - - Department of Computing Science University of Alberta What Is JDBC? JDBC is a programming interface JDBC allows developers using java to gain access
More informationEmbedded SQL. csc343, Introduction to Databases Renée J. Miller and Fatemeh Nargesian and Sina Meraji Winter 2018
Embedded SQL csc343, Introduction to Databases Renée J. Miller and Fatemeh Nargesian and Sina Meraji Winter 2018 Problems with using interactive SQL Standard SQL is not Turing-complete. E.g., Two profs
More informationCSE 530A. DAOs and MVC. Washington University Fall 2012
CSE 530A DAOs and MVC Washington University Fall 2012 Model Object Example public class User { private Long id; private String username; private String password; public Long getid() { return id; public
More informationPart I: Stored Procedures. Introduction to SQL Programming Techniques. CSC 375, Fall 2017
Introduction to SQL Programming Techniques CSC 375, Fall 2017 The Six Phases of a Project: Enthusiasm Disillusionment Panic Search for the Guilty Punishment of the Innocent Praise for non-participants
More informationEnterprise JavaBeans. Layer:08. Persistence
Enterprise JavaBeans Layer:08 Persistence Agenda Discuss "finder" methods. Describe DataSource resources. Describe bean-managed persistence. Describe container-managed persistence. Last Revised: 11/1/2001
More informationDatabase Programming. Week 9. *Some of the slides in this lecture are created by Prof. Ian Horrocks from University of Oxford
Database Programming Week 9 *Some of the slides in this lecture are created by Prof. Ian Horrocks from University of Oxford SQL in Real Programs We have seen only how SQL is used at the generic query interface
More informationEmbedded SQL. csc343, Introduction to Databases Diane Horton with examples from Ullman and Widom Fall 2014
Embedded SQL csc343, Introduction to Databases Diane Horton with examples from Ullman and Widom Fall 2014 Problems with using interactive SQL Standard SQL is not Turing-complete. E.g., Two profs are colleagues
More informationIBM DB2 9 Application Developer. Download Full Version :
IBM 000-733 DB2 9 Application Developer Download Full Version : http://killexams.com/pass4sure/exam-detail/000-733 QUESTION: 130 A solution is needed to process a large amount of inventory table data on
More informationThe Design of JDBC The Structured Query Language Basic JDBC Programming Concepts Query Execution Scrollable and Updatable Result Sets
Course Name: Advanced Java Lecture 13 Topics to be covered The Design of JDBC The Structured Query Language Basic JDBC Programming Concepts Query Execution Scrollable and Updatable Result Sets Introducing
More informationDepartamento de Lenguajes y Sistemas Informáticos
Departamento de Lenguajes y Sistemas Informáticos ! " # $% &'' () * +, ! -. /,#0 &. +, +*,1 $23.*4.5*46.-.2) 7.,8 +*,1 $ 6 +*,1) $23.*4.5 7.-.2) 9 :$java.sql.*),,1 $ ;0,9,1
More informationVendor: IBM. Exam Code: Exam Name: DB2 9 Application Developer. Version: Demo
Vendor: IBM Exam Code: 000-733 Exam Name: DB2 9 Application Developer Version: Demo QUESTION 1 Which of the following applies to nickname usage? A. Nicknames cannot be created for views. B. An MQT definition
More informationEnterprise Java Unit 1- Chapter 6 Prof. Sujata Rizal
Introduction JDBC is a Java standard that provides the interface for connecting from Java to relational databases. The JDBC standard is defined by Sun Microsystems and implemented through the standard
More informationDatabase Applications (15-415)
Database Applications (15-415) SQL-Part III & Storing Data: Disks and Files- Part I Lecture 8, February 5, 2014 Mohammad Hammoud Today Last Session: Standard Query Language (SQL)- Part II Today s Session:
More informationWorking with Databases and Java
Working with Databases and Java Pedro Contreras Department of Computer Science Royal Holloway, University of London January 30, 2008 Outline Introduction to relational databases Introduction to Structured
More informationMore Object Design with GoF Patterns (continued) CSSE 574: Session 7, Part 3
More Object Design with GoF Patterns (continued) CSSE 574: Session 7, Part 3 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu This discussion Applying Patterns
More informationEMBEDDED SQL. SE 3DB3 Fall 2016 MICHAEL LIUT DEPARTMENT OF COMPUTING AND SOFTWARE MCMASTER UNIVERSITY
EMBEDDED SQL MICHAEL LIUT (LIUTM@MCMASTER.CA) DEPARTMENT OF COMPUTING AND SOFTWARE MCMASTER UNIVERSITY SE 3DB3 Fall 2016 (Slides adapted from Dr. Fei Chiang, Diane Horton, examples from J. Ullman, J. Widom)
More informationThree-Tier Architecture
Three-Tier Architecture Located @ Any PC HTTP Requests Microsoft Internet Explorer HTML Located @ Your PC Apache Tomcat App Server Java Server Pages (JSPs) JDBC Requests Tuples Located @ DBLab MS SQL Server
More informationJava Database Connectivity (JDBC) 25.1 What is JDBC?
PART 25 Java Database Connectivity (JDBC) 25.1 What is JDBC? JDBC stands for Java Database Connectivity, which is a standard Java API for database-independent connectivity between the Java programming
More informationAdvanced Programming Languages Effective Java Item 1. Spring 2015 Chungnam National Univ Eun-Sun Cho
Advanced Programming Languages Effective Java Item 1 Spring 2015 Chungnam National Univ Eun-Sun Cho 1 1. Introduction 2. Creating and Destroying Objects Item 1: Consider static factory methods instead
More information1 st Step. Prepare the class to be persistent:
1 st Step Prepare the class to be persistent: Add a surrogate id field, usually int, long, Integer, Long. Encapsulate fields (properties) using exclusively getter and setter methods. Make the setter of
More informationSQLJ: Java and Relational Databases
SQLJ: Java and Relational Databases Phil Shaw, Sybase Inc. Brian Becker, Oracle Corp. Johannes Klein, Tandem/Compaq Mark Hapner, JavaSoft Gray Clossman, Oracle Corp. Richard Pledereder, Sybase Inc. Agenda
More informationLecture 9&10 JDBC. Mechanism. Some Warnings. Notes. Style. Introductory Databases SSC Introduction to DataBases 1.
Lecture 9&10 JDBC Java and SQL Basics Data Manipulation How to do it patterns etc. Transactions Summary JDBC provides A mechanism for to database systems An API for: Managing this Sending s to the DB Receiving
More informationCSC317/MCS9317. Database Performance Tuning. Class test
CSC317/MCS9317 Database Performance Tuning Class test 7 October 2015 Please read all instructions (including these) carefully. The test time is approximately 120 minutes. The test is close book and close
More informationTopic 12: Database Programming using JDBC. Database & DBMS SQL JDBC
Topic 12: Database Programming using JDBC Database & DBMS SQL JDBC Database A database is an integrated collection of logically related records or files consolidated into a common pool that provides data
More informationSQL and Java. Database Systems Lecture 20 Natasha Alechina
Database Systems Lecture 20 Natasha Alechina In this Lecture SQL in Java SQL from within other Languages SQL, Java, and JDBC For More Information Sun Java tutorial: http://java.sun.com/docs/books/tutorial/jdbc
More informatione-pg Pathshala Subject: Computer Science Paper: Web Technology Module: JDBC INTRODUCTION Module No: CS/WT/26 Quadrant 2 e-text
e-pg Pathshala Subject: Computer Science Paper: Web Technology Module: JDBC INTRODUCTION Module No: CS/WT/26 Quadrant 2 e-text Learning Objectives This module gives an introduction about Java Database
More informationJava and the Java DataBase Connectivity (JDBC) API. Todd Kaufman April 25, 2002
Java and the Java DataBase Connectivity (JDBC) API Todd Kaufman April 25, 2002 Agenda BIO Java JDBC References Q&A Speaker 4 years Java experience 4 years JDBC experience 3 years J2EE experience BS from
More informationChapter 16: Databases
Chapter 16: Databases Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 16 discusses the following main topics: Introduction to Database
More information2009 Shawn A. Bohner. Shawn Bohner Office: Moench Room F212 Phone: (812)
2009 Shawn A. Bohner Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Applying Patterns to NextGen POS Iteration 3 Local caching Used Adapter and Factory Failover
More informationSNS COLLEGE OF ENGINEERING, Coimbatore
SNS COLLEGE OF ENGINEERING, Coimbatore 641 107 Accredited by NAAC UGC with A Grade Approved by AICTE and Affiliated to Anna University, Chennai IT6503 WEB PROGRAMMING UNIT 03 JDBC JDBC Overview JDBC implementation
More informationJ2EE Access of Relational Data
J2EE Access of Relational Data Direct JDBC Direct SQL calls, uses rows and result sets directly Object view Accessed as objects or components, transparent that the data is stored in relational database
More informationJava Database Connectivity
Java Database Connectivity ADVANCED FEATURES Dr. Syed Imtiyaz Hassan Assistant Professor, Deptt. of CSE, Jamia Hamdard (Deemed to be University), New Delhi, India. s.imtiyaz@jamiahamdard.ac.in Agenda Scrollable
More informationJava Database Connectivity
Java Database Connectivity INTRODUCTION Dr. Syed Imtiyaz Hassan Assistant Professor, Deptt. of CSE, Jamia Hamdard (Deemed to be University), New Delhi, India. s.imtiyaz@jamiahamdard.ac.in Agenda Introduction
More informationCyrus Shahabi Computer Science Department University of Southern California C. Shahabi
Application Programming for Relational Databases Cyrus Shahabi Computer Science Department University of Southern California shahabi@usc.edu 1 Overview JDBC Package Connecting to databases with JDBC Executing
More informationApplication Programming for Relational Databases
Application Programming for Relational Databases Cyrus Shahabi Computer Science Department University of Southern California shahabi@usc.edu 1 Overview JDBC Package Connecting to databases with JDBC Executing
More informationSQL in a Server Environment
SQL in a Server Environment Vaidė Narváez Computer Information Systems January 13th, 2011 The Three-Tier Architecture Application logic components Copyright c 2009 Pearson Education, Inc. Publishing as
More informationDatabase Applications. SQL/PSM Embedded SQL JDBC
Database Applications SQL/PSM Embedded SQL JDBC 1 Course Objectives Design Construction Applications Usage 2 Course Objectives Interfacing When the course is through, you should Know how to connect to
More informationMore Object Design with GoF Patterns CSSE 574: Session 7, Part 2
More Object Design with GoF Patterns CSSE 574: Session 7, Part 2 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu Topics in this discussion More Object Design
More informationRelational Databases. CS 240 Advanced Programming Concepts
Relational Databases CS 240 Advanced Programming Concepts Database Management Systems (DBMS) Databases are implemented by software systems called Database Management Systems (DBMS) Commonly used Relational
More informationKyle Brown Knowledge Systems Corporation by Kyle Brown and Knowledge Systems Corporation
Kyle Brown Knowledge Systems Corporation 1 What is the JDBC? What other persistence mechanisms are available? What facilities does it offer? How is it used? 2 JDBC is the Java DataBase Connectivity specification
More informationERwin and JDBC. Mar. 6, 2007 Myoung Ho Kim
ERwin and JDBC Mar. 6, 2007 Myoung Ho Kim ERwin ERwin a popular commercial ER modeling tool» other tools: Dia (open source), Visio, ConceptDraw, etc. supports database schema generation 2 ERwin UI 3 Data
More informationIntroduction to Databases [p.3]
Object Oriented Programming and Internet Application Development Unit 5 The Back-end in Internet Software Introduction to Databases Relational Databases Designing a Relational Database Manipulating Data
More informationCSSE 374: Even More Object Design with Gang of Four Design Patterns
CSSE 374: Even More Object Design with Gang of Four Design Patterns Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Problem Solved Some engineer out there has
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer
About the Tutorial JDBC API is a Java API that can access any kind of tabular data, especially data stored in a Relational Database. JDBC works with Java on a variety of platforms, such as Windows, Mac
More informationJDBC, Transactions. Niklas Fors JDBC 1 / 38
JDBC, Transactions SQL in Programs Embedded SQL and Dynamic SQL JDBC Drivers, Connections, Statements, Prepared Statements Updates, Queries, Result Sets Transactions Niklas Fors (niklas.fors@cs.lth.se)
More informationIntroduction to SQL & Database Application Development Using Java
Introduction to SQL & Database Application Development Using Java By Alan Andrea The purpose of this paper is to give an introduction to relational database design and sql with a follow up on how these
More informationIntroduction to SQL (III)
Introduction to SQL (III) 1 Roadmap of This Lecture Transactions Integrity Constraints SQL Data Types and Schemas Authorization Embedded SQL 2 Transactions Unit of work Atomic transaction either fully
More informationDiseño de la capa de datos para el POS
escuela técnica superior de ingeniería informática Diseño de la capa de datos para el POS Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software de Gestión III Índice Introducción Estrategias
More informationChapter 5: Advanced SQL" Chapter 5: Advanced SQL"
Chapter 5: Advanced SQL" Database System Concepts, 6 th Ed.! Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use " Chapter 5: Advanced SQL" Accessing SQL From a Programming Language!
More informationServer-side Web Programming
Server-side Web Programming Lecture 13: JDBC Database Programming JDBC Definition Java Database Connectivity (JDBC): set of classes that provide methods to Connect to a database through a database server
More information13 Creation and Manipulation of Tables and Databases
150.420 Informationslogistik SQL Handout No. 9 SS 2013 13 Creation and Manipulation of Tables and Databases 13.1 Creation and Deletion Databases can be created and deleted using respectively. CREATE DATABASE
More informationUsing SQL and Result Sets in Stored Procedures
Data Warehousing > Database Using SQL and Result Sets in Stored By Doug Frazier Table of Contents Executive Summary 2 Introduction 2 What is an External Stored Procedure? 3 Returning Result Sets 9 Stored
More informationIntroduction to Databases
JAVA JDBC Introduction to Databases Assuming you drove the same number of miles per month, gas is getting pricey - maybe it is time to get a Prius. You are eating out more month to month (or the price
More informationMore Database Programming. CS157A Chris Pollett Nov. 2, 2005.
More Database Programming CS157A Chris Pollett Nov. 2, 2005. Outline JDBC SQLJ Introduction Last day we went over some JDBC and SQLJ code examples from prior classes. Today, we will discuss JDBC and SQLJ
More informationLecture 2. Introduction to JDBC
Lecture 2 Introduction to JDBC Introducing JDBC According to Sun, JDBC is not an acronym, but is commonly misinterpreted to mean Java DataBase Connectivity JDBC: is an API that provides universal data
More informationThis lecture. Databases - JDBC I. Application Programs. Database Access End Users
This lecture Databases - I The lecture starts discussion of how a Java-based application program connects to a database using. (GF Royle 2006-8, N Spadaccini 2008) Databases - I 1 / 24 (GF Royle 2006-8,
More informationServlet 5.1 JDBC 5.2 JDBC
5 Servlet Java 5.1 JDBC JDBC Java DataBase Connectivity Java API JDBC Java Oracle, PostgreSQL, MySQL Java JDBC Servlet OpenOffice.org ver. 2.0 HSQLDB HSQLDB 100% Java HSQLDB SQL 5.2 JDBC Java 1. JDBC 2.
More informationEnterprise Systems. Lecture 02: JDBC. Behzad BORDBAR
Enterprise Systems Lecture 02: JDBC Behzad BORDBAR 22 Contents Running example Sample code for beginners Properties to configure Statements and ResultSet Pitfalls of using ResultSet getobject() vs. getxxx()
More informationUnit 3 - Java Data Base Connectivity
Two-Tier Database Design The two-tier is based on Client-Server architecture. The direct communication takes place between client and server. There is no mediator between client and server. Because of
More informationDatabase Programming Overview. COSC 304 Introduction to Database Systems. Database Programming. JDBC Interfaces. JDBC Overview
COSC 304 Introduction to Database Systems Database Programming Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Database Programming Overview Most user interaction with
More informationUNIT III - JDBC Two Marks
UNIT III - JDBC Two Marks 1.What is JDBC? JDBC stands for Java Database Connectivity, which is a standard Java API for databaseindependent connectivity between the Java programming language and a wide
More informationJDBC Guide. RDM Server 8.2
RDM Server 8.2 JDBC Guide 1 Trademarks Raima Database Manager ("RDM"), RDM Embedded, RDM Server, RDM Mobile, XML, db_query, db_revise and Velocis are trademarks of Birdstep Technology and may be registered
More informationSoftware LEIC/LETI. Lecture 15
Software Engineering @ LEIC/LETI Lecture 15 Last Lecture Software Architecture Architectural Patterns Application Architectures Software Architecture in the Project Today Enterprise Application Architecture
More informationJDBC - INTERVIEW QUESTIONS
JDBC - INTERVIEW QUESTIONS http://www.tutorialspoint.com/jdbc/jdbc_interview_questions.htm Copyright tutorialspoint.com Dear readers, these JDBC Interview Questions have been designed specially to get
More informationJDBC Programming: Intro
JDBC Programming: Intro Most interaction with DB is not via interactive interface Most people interact via 1. Application programs directly 2. Apps over the internet There are 3 general approaches to developing
More informationEmbedded SQL. Host Language (record-oriented) 3. Process a tuple at a time. 1. Query. 4. Close Cursor
Embedded SQL Host Language (record-oriented) 3. Process a tuple at a time 1. Query 4. Close Cursor DBMS (set-oriented) 2. Evaluate query. Provide cursor to query result. 1 JDBC Java DataBase Connectivity
More informationPersistent data. Version INF Nov-07 INF2120 Prosjekt i modellering 1
Persistent data Version 070418 8-Nov-07 INF2120 Prosjekt i modellering 1 Lessons from today s lecture We reap the benefits of earlier good design! The persistency of the data only affects the data process
More informationAP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS
AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this
More informationJDBC 3.0. Java Database Connectivity. 1 Java
JDBC 3.0 Database Connectivity 1 Contents 1 JDBC API 2 JDBC Architecture 3 Steps to code 4 Code 5 How to configure the DSN for ODBC Driver for MS-Access 6 Driver Types 7 JDBC-ODBC Bridge 8 Disadvantages
More informationCSCI/CMPE Object-Oriented Programming in Java JDBC. Dongchul Kim. Department of Computer Science University of Texas Rio Grande Valley
CSCI/CMPE 3326 Object-Oriented Programming in Java JDBC Dongchul Kim Department of Computer Science University of Texas Rio Grande Valley Introduction to Database Management Systems Storing data in traditional
More informationJava E-Commerce Martin Cooke,
Java E-Commerce Martin Cooke, 2002 1 Java Database Connectivity (JDBC) Plan Java database connectivity API (JDBC) Examples Advanced features JNDI JDBC 13/02/2004 Java E-Commerce Martin Cooke, 2003 2 Design
More informationChapter 4: Advanced SQL
Chapter 4: Advanced SQL Chapter 4: Advanced SQL SQL Data Types and Schemas Integrity Constraints Authorization Embedded SQL Dynamic SQL Functions and Procedural Constructs** Recursive Queries** Advanced
More informationLecture 27 10/30/15. CMPSC431W: Database Management Systems. Instructor: Yu- San Lin
CMPSC431W: Database Management Systems Lecture 27 10/30/15 Instructor: Yu- San Lin yusan@psu.edu Course Website: hcp://www.cse.psu.edu/~yul189/cmpsc431w Slides based on McGraw- Hill & Dr. Wang- Chien Lee
More informationOracle Exam 1z0-809 Java SE 8 Programmer II Version: 6.0 [ Total Questions: 128 ]
s@lm@n Oracle Exam 1z0-809 Java SE 8 Programmer II Version: 6.0 [ Total Questions: 128 ] Oracle 1z0-809 : Practice Test Question No : 1 Given: public final class IceCream { public void prepare() { public
More informationDB Programming. Database Systems
DB Programming Database Systems 1 Agenda MySQL data types Altering the Schema More Advanced MySQL JDBC DB Coding Tips 2 MySQL Data Types There are 3 main groups of types: Numeric Date String http://dev.mysql.com/doc/refman/5.6/en/data-types.html
More informationDatabase Application Development
Database Application Development Linda Wu (CMPT 354 2004-2) Topics SQL in application code Embedded SQL JDBC SQLJ Stored procedures Chapter 6 CMPT 354 2004-2 2 SQL in Application Code SQL commands can
More informationTiers (or layers) Separation of concerns
Tiers (or layers) Separation of concerns Hiding the type of storage from the client class Let s say we have a program that needs to fetch objects from a storage. Should the program have to be concerned
More informationThe Many Faces Of Apache Ignite. David Robinson, Software Engineer May 13, 2016
The Many Faces Of Apache Ignite David Robinson, Software Engineer May 13, 2016 A Face In elementary geometry, a face is a two-dimensional polygon on the boundary of a polyhedron. 2 Attribution:Robert Webb's
More informationPERSİSTENCE OBJECT RELATİON MAPPİNG
PERSİSTENCE Most of the applications require storing and retrieving objects in a persistent storage mechanism. This chapter introduces how to store and retrieve information in a persistent storage with
More informationNote that alternative datatypes are possible. Other choices for not null attributes may be acceptable.
4.2 Query: create table employee (person name char(20), street char(30), city char(30), primary key (person name) ); create table works (person name char(20), company name char(15), salary integer, primary
More informationIntroduction to JDBC. JDBC: Java Database Connectivity. Why Access a Database with Java? Compilation. Six Steps. Packages to Import
Introduction to JDBC JDBC: Java Database Connectivity JDBC is used for accessing databases from Java applications Information is transferred from relations to objects and vice-versa databases optimized
More informationTop 50 JDBC Interview Questions and Answers
Top 50 JDBC Interview Questions and Answers 1) What is the JDBC? JDBC stands for Java Database Connectivity. JDBC is a Java API that communicates with the database and execute SQLquery. 2) What is a JDBC
More informationPESIT Bangalore South Campus
INTERNAL ASSESSMENT TEST II Date : 20-09-2016 Max Marks: 50 Subject & Code: JAVA & J2EE (10IS752) Section : A & B Name of faculty: Sreenath M V Time : 8.30-10.00 AM Note: Answer all five questions 1) a)
More informationCalling SQL from a host language (Java and Python) Kathleen Durant CS 3200
Calling SQL from a host language (Java and Python) Kathleen Durant CS 3200 1 SQL code in other programming languages SQL commands can be called from within a host language (e.g., C++ or Java) program.
More informationDatabase Application Development
CS 461: Database Systems Database Application Development supplementary material: Database Management Systems Sec. 6.2, 6.3 DBUtils.java, Student.java, Registrar.java, RegistrarServlet.java, PgRegistrar.sql
More informationDatabases 2012 Embedded SQL
Databases 2012 Christian S. Jensen Computer Science, Aarhus University SQL is rarely written as ad-hoc queries using the generic SQL interface The typical scenario: client server database SQL is embedded
More informationJava Identifiers, Data Types & Variables
Java Identifiers, Data Types & Variables 1. Java Identifiers: Identifiers are name given to a class, variable or a method. public class TestingShastra { //TestingShastra is an identifier for class char
More informationObject Persistence Design Guidelines
Object Persistence Design Guidelines Motivation Design guideline supports architects and developers in design and development issues of binding object-oriented applications to data sources The major task
More informationCOMPUTER SCIENCE III: ITCS 2304 FINAL EXAMINATION TIME: 2 HOURS
AL-AZHAR UNIVERSITY GAZA FACULTY OF EIT IT DEPARTMENT COMPUTER SCIENCE III: ITCS 2304 FINAL EXAMINATION TIME: 2 HOURS TOTAL POINTS (50) DATE: 20/1/2013 QUESTIONS (4) PAGES (6) اإلسم (رباعي): الرقم الجامعي:
More informationProgramming in Java
320341 Programming in Java Fall Semester 2014 Lecture 16: Introduction to Database Programming Instructor: Slides: Jürgen Schönwälder Bendick Mahleko Objectives This lecture introduces the following -
More informationChair of Software Engineering. Java and C# in Depth. Prof. Dr. Bertrand Meyer. Exercise Session 9. Nadia Polikarpova
Chair of Software Engineering Java and C# in Depth Prof. Dr. Bertrand Meyer Exercise Session 9 Nadia Polikarpova Quiz 1: scrolling a ResultSet (JDBC) How do you assess the following code snippet that iterates
More informationNew Features Overview
Features pf JDK 7 New Features Overview Full List: http://docs.oracle.com/javase/7/docs/webnotes/adoptionguide/index.html JSR 334: Small language enhancements (Project Coin) Concurrency and collections
More informationVanillaCore Walkthrough Part 1. Introduction to Database Systems DataLab CS, NTHU
VanillaCore Walkthrough Part 1 Introduction to Database Systems DataLab CS, NTHU 1 The Architecture VanillaDB JDBC/SP Interface (at Client Side) Remote.JDBC (Client/Server) Query Interface Remote.SP (Client/Server)
More information