Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views

Practical Database Programming with Java 1st Edition Ying Bai pdf download

The document provides links to various eBooks related to database programming and Java, including 'Practical Database Programming with Java' by Ying Bai. It includes details about the content and organization of the book, as well as information about other related titles. Additionally, it outlines the structure of the book and its chapters, covering topics such as database design, JDBC API, and application development.

Uploaded by

endoguineo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Practical Database Programming with Java 1st Edition Ying Bai pdf download

The document provides links to various eBooks related to database programming and Java, including 'Practical Database Programming with Java' by Ying Bai. It includes details about the content and organization of the book, as well as information about other related titles. Additionally, it outlines the structure of the book and its chapters, covering topics such as database design, JDBC API, and application development.

Uploaded by

endoguineo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Practical Database Programming with Java 1st

Edition Ying Bai pdf download

https://ebookname.com/product/practical-database-programming-
with-java-1st-edition-ying-bai/

Get Instant Ebook Downloads – Browse at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Java Database Programming Bible 1st Edition John


O'Donahue

https://ebookname.com/product/java-database-programming-
bible-1st-edition-john-odonahue/

Oracle Database Programming using Java and Web Services


1st Edition Kuassi Mensah

https://ebookname.com/product/oracle-database-programming-using-
java-and-web-services-1st-edition-kuassi-mensah/

Learning Reactive Programming with Java 8 1st Edition


Nickolay Tsvetinov

https://ebookname.com/product/learning-reactive-programming-with-
java-8-1st-edition-nickolay-tsvetinov/

Controlling London s Growth Donald L. Foley

https://ebookname.com/product/controlling-london-s-growth-donald-
l-foley/
The Politics of Knowledge in Central Asia Science
between Marx and the Market Central Asia Research Forum
1st Edition Sarah Amsler

https://ebookname.com/product/the-politics-of-knowledge-in-
central-asia-science-between-marx-and-the-market-central-asia-
research-forum-1st-edition-sarah-amsler/

Rosa Luxemburg Paul Frölich

https://ebookname.com/product/rosa-luxemburg-paul-frolich/

Negotiation Theory and Strategy Casebook First Edition


Russell Korobkin

https://ebookname.com/product/negotiation-theory-and-strategy-
casebook-first-edition-russell-korobkin/

Central Simple Algebras and Galois Cohomology 2nd


Edition Gille

https://ebookname.com/product/central-simple-algebras-and-galois-
cohomology-2nd-edition-gille/

Professional Python 1st Edition Luke Sneeringer

https://ebookname.com/product/professional-python-1st-edition-
luke-sneeringer/
Effective Teaching in Schools Theory and Practice 3rd
Edition Chris Kyriacou

https://ebookname.com/product/effective-teaching-in-schools-
theory-and-practice-3rd-edition-chris-kyriacou/
Practical Database
Programming with Java

ffirs01.indd i 7/20/2011 11:12:56 AM


IEEE Press
445 Hoes Lane
Piscataway, NJ 08854

IEEE Press Editorial Board


Lajos Hanzo, Editor in Chief

R. Abhari M. El-Hawary O. P. Malik


J. Anderson B-M. Haemmerli S. Nahavandi
G. W. Arnold M. Lanzerotti T. Samad
F. Canavero D. Jacobson G. Zobrist

Kenneth Moore, Director of IEEE Book and Information Services (BIS)

ffirs02.indd ii 7/20/2011 11:12:57 AM


Practical Database
Programming with Java

Ying Bai
Department of Computer Science and Engineering
Johnson C. Smith University
Charlotte, North Carolina

IEEE PRESS

A John Wiley & Sons, Inc., Publication

ffirs03.indd iii 7/20/2011 11:12:57 AM


Copyright © 2011 by the Institute of Electrical and Electronics Engineers, Inc.

Published by John Wiley & Sons, Inc., Hoboken, New Jersey


Published simultaneously in Canada

No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by
any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under
Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of
the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance
Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4470, or on the web at
www.copyright.com. Requests to the Publisher for permission should be addressed to the Permissions
Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201)
748-6008, or online at http://www.wiley.com/go/permissions.

Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in
preparing this book, they make no representations or warranties with respect to the accuracy or
completeness of the contents of this book and specifically disclaim any implied warranties of merchantability
or fitness for a particular purpose. No warranty may be created or extended by sales representatives or
written sales materials. The advice and strategies contained herein may not be suitable for your situation. You
should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any
loss of profit or any other commercial damages, including but not limited to special, incidental, consequential,
or other damages.

For general information on our other products and services or for technical support, please contact our
Customer Care Department within the United States at (800) 762-2974, outside the United States at (317)
572-3993 or fax (317) 572-4002.

Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not
be available in electronic formats. For more information about Wiley products, visit our web site at www.
wiley.com.

Library of Congress Cataloging-in-Publication Data:


Bai, Ying, 1956-
Practical database programming with Java / Ying Bai.
p. cm.
ISBN 978-0-470-88940-4 (pbk.)
1. Database management–Computer programs. 2. Database design. 3. Java (Computer program
language) 4. Computer software–Development. I. Title.
QA76.9.D3B314 2011
005.13'3–dc22
2011009323
obook ISBN 9781118104651
ePDF ISBN 9781118104668
ePub ISBN 9781118104699

Printed in the United States of America

10 9 8 7 6 5 4 3 2 1

ffirs04.indd iv 7/25/2011 7:18:05 PM


This book is dedicated to my wife, Yan Wang,
and to my daughter, Xue Bai.

ffirs05.indd v 7/20/2011 11:12:59 AM


Contents

Preface xxiii

Acknowledgments xxv

Chapter 1 Introduction 1
What This Book Covers 2
How This Book Is Organized and How to Use This Book 3
How to Use the Source Code and Sample Databases 5
Instructor and Customer Support 6
Homework Solutions 7

Chapter 2 Introduction to Databases 9


2.1 What Are Databases and Database Programs? 10
2.1.1 File Processing System 10
2.1.2 Integrated Databases 11
2.2 Develop a Database 12
2.3 Sample Database 13
2.3.1 Relational Data Model 15
2.3.2 Entity–Relationship Model 16
2.4 Identifying Keys 17
2.4.1 Primary Key and Entity Integrity 17
2.4.2 Candidate Key 17
2.4.3 Foreign Keys and Referential Integrity 17
2.5 Define Relationships 18
2.5.1 Connectivity 18
2.6 ER Notation 21
2.7 Data Normalization 21
2.7.1 First Normal Form (1NF) 22
2.7.2 Second Normal Form (2NF) 23
2.7.3 Third Normal Form (3NF) 24
vii

ftoc.indd vii 7/20/2011 11:13:00 AM


viii Contents

2.8 Database Components in Some Popular Databases 26


2.8.1 Microsoft Access Databases 26
2.8.1.1 Database File 27
2.8.1.2 Tables 27
2.8.1.3 Queries 27
2.8.2 SQL Server Databases 27
2.8.2.1 Data Files 28
2.8.2.2 Tables 28
2.8.2.3 Views 29
2.8.2.4 Stored Procedures 29
2.8.2.5 Keys and Relationships 29
2.8.2.6 Indexes 30
2.8.2.7 Transaction Log Files 30
2.8.3 Oracle Databases 30
2.8.3.1 Data Files 31
2.8.3.2 Tables 31
2.8.3.3 Views 31
2.8.3.4 Stored Procedures 31
2.8.3.5 Indexes 32
2.8.3.6 Initialization Parameter Files 33
2.8.3.7 Control Files 33
2.8.3.8 Redo log Files 33
2.8.3.9 Password Files 34
2.9 Create Microsoft Access Sample Database 34
2.9.1 Create the LogIn Table 34
2.9.2 Create the Faculty Table 36
2.9.3 Create the Other Tables 37
2.9.4 Create Relationships among Tables 39
2.10 Create Microsoft SQL Server 2008
Sample Database 44
2.10.1 Create the LogIn Table 46
2.10.2 Create the Faculty Table 48
2.10.3 Create Other Tables 49
2.10.4 Create Relationships among Tables 54
2.10.4.1 Create Relationship between the LogIn and the Faculty Tables 54
2.10.4.2 Create Relationship between the LogIn and the Student Tables 57
2.10.4.3 Create Relationship between the Faculty and the Course Tables 58
2.10.4.4 Create Relationship between the Student and the
StudentCourse Tables 59
2.10.4.5 Create Relationship between the Course and the
StudentCourse Tables 60
2.11 Create Oracle 10g XE Sample Database 61
2.11.1 Create an Oracle User Database 63
2.11.2 Add New Data Tables into the Oracle User Database 64
2.11.2.1 Create the LogIn Table 65
2.11.2.2 Create the Faculty Table 69
2.11.2.3 Create Other Tables 74

ftoc.indd viii 7/20/2011 11:13:00 AM


Contents ix

2.11.3 Create the Constraints Between Tables 77


2.11.3.1 Create the Constraints between the LogIn and Faculty Tables 77
2.11.3.2 Create the Constraints between the LogIn and Student Tables 79
2.11.3.3 Create the Constraints between the Course and
Faculty Tables 80
2.11.3.4 Create the Constraints between the StudentCourse
and Student Tables 82
2.11.3.5 Create the Constraints between the StudentCourse
and Course Tables 82
2.12 Chapter Summary 85
Homework 85

Chapter 3 JDBC API and JDBC Drivers 89


3.1 What Are JDBC and JDBC API? 89
3.2 JDBC Components and Architecture 90
3.3 How Does JDBC Work? 92
3.3.1 Establish a Connection 92
3.3.1.1 Using DriverManager to Establish a Connection 92
3.3.1.2 Using DataSource Object to Establish a Connection 93
3.3.2 Build and Execute SQL Statements 94
3.3.3 Process Results 94
3.3.3.1 Using ResultSet Object 95
3.3.3.2 Using RowSet Object 95
3.4 JDBC Driver and Driver Types 95
3.4.1 Type I: JDBC-ODBC Bridge Driver 96
3.4.2 Type II: Native-API-Partly-Java Driver 97
3.4.3 Type III: JDBC-Net-All-Java Driver 97
3.4.4 Type IV: Native-Protocol-All-Java Driver 98
3.5 JDBC Standard Extension API 99
3.5.1 JDBC DataSource 99
3.5.1.1 Java Naming and Directory Interface 100
3.5.1.2 Deploy and Use a Basic Implementation of DataSource 100
3.5.2 JDBC Driver-Based Connection Pooling 102
3.5.3 Distributed Transactions 104
3.5.3.1 Distributed Transaction Components and Scenarios 104
3.5.3.2 The Distributed Transaction Process 105
3.5.4 JDBC RowSet 106
3.5.4.1 Introduction to Java RowSet Object 106
3.5.4.2 Implementation Process of a RowSet Object 107
3.6 Chapter Summary 108
Homework 109

Chapter 4 JDBC Application Design Considerations 113


4.1 JDBC Application Models 113
4.1.1 Two-Tier Client-Server Model 113
4.1.2 Three-Tier Client–Server Model 114

ftoc.indd ix 7/20/2011 11:13:00 AM


x Contents

4.2 JDBC Applications Fundamentals 115


4.2.1 Loading and Registering Drivers 116
4.2.2 Getting Connected 117
4.2.2.1 The DriverManager and Driver Classes 117
4.2.2.2 Using the DriverManager.getConnection() Method 119
4.2.2.3 Using the Driver.connect() Method 119
4.2.2.4 The JDBC Connection URL 120
4.2.2.5 Establish a Database Connection 120
4.2.3 Executing Statements 122
4.2.3.1 Overview of Statement Objects and Their Execution Methods 123
4.2.3.2 Using the Statement Object 126
4.2.3.3 Using the PreparedStatement Object 127
4.2.3.4 Using the CallableStatement Object 131
4.2.3.5 More about the Execution Methods 135
4.2.3.6 Creating and Executing SQL Statements 137
4.2.4 Retrieving Results 140
4.2.4.1 The ResultSet Interface 141
4.2.4.2 Getting and Processing the ResultSet Object 142
4.2.5 Using JDBC MetaData Interfaces 145
4.2.5.1 Using the ResultSetMetaData Interface 145
4.2.5.2 Using the DatabaseMetaData Interface 147
4.2.5.3 Using the ParameterMetaData Interface 149
4.2.6 Closing the Connection and Statements 149
4.3 Chapter Summary 151
Homework 152

Chapter 5 Introduction to NetBeans IDE 155


5.1 Overview of the NetBeans IDE 6.8 156
5.1.1 The NetBeans Platform 158
5.1.2 The NetBeans Open Source IDE 159
5.2 Installing and Configuring the NetBeans IDE 6.8 161
5.3 Exploring NetBeans IDE 6.8 164
5.3.1 An Overview of NetBeans IDE 6.8 GUI 165
5.3.2 Build a New Java Project 167
5.3.2.1 Build a Java Application Project 168
5.3.2.2 Build a Java Desktop Application 178
5.3.2.3 Build a Java Class Library 183
5.3.2.4 Build a Java Project with Existing Sources 191
5.3.2.5 Build a Java Free-Form Project 192
5.3.3 Build a JavaFX Application Project 193
5.3.3.1 Overview of JavaFX 193
5.3.3.2 JavaFX SDK 194
5.3.3.3 JavaFX Script Language 195
5.3.3.4 Build a JavaFX Script Application 195
5.3.3.5 Build a JavaFX Desktop Business Application 201
5.3.3.6 Build JavaFX Mobile Business Application 214

ftoc.indd x 7/20/2011 11:13:00 AM


Contents xi

5.3.4 Build
a Java Web Application Project 214
5.3.5 Build
a Java Enterprise Edition Project 214
5.3.5.1 Overview of Java Enterprise Edition 6 215
5.3.5.2 Install and Configure Java EE 6 Software and Tools 222
5.3.5.3 Create a Java EE 6 Web Application Project 224
5.3.5.4 Creating the Entity Classes from the Database 227
5.3.5.5 Creating Enterprise Java Beans 229
5.3.5.6 Using JavaServer Faces (JSF) 2.0 232
5.3.5.7 Creating the Manufacturer Managed Bean 234
5.3.5.8 Creating the Manufacturer Listing Web Page 235
5.3.5.9 Building and Running the First Java EE 6 Web Page 238
5.3.5.10Deploying the Project Using the Administration Console 239
5.3.5.11Creating the Manufacturer Details Web Page 241
5.3.5.12Creating and Editing the faces-config.xml Configuration File 242
5.3.5.13Editing the General Web Application Configuration
File web.xml 247
5.3.5.14 Modifying the JSF Pages to Perform Page Switching 248
5.3.5.15 Building and Running the Entire Java EE 6 Project 249
5.3.6 Build a Maven Project 251
5.3.6.1 Introduction to Maven 251
5.3.6.2 Introduction to Hibernate Framework 253
5.3.6.3 Installing and Configuring the Apache Maven 255
5.3.6.4 Configuring Maven Inside the NetBeans IDE 258
5.3.6.5 Creating a Maven Database Application Project 259
5.3.6.6 Adding Hibernate Files and Dependencies 261
5.3.6.7 Generating Hibernate Mapping Files and Java Classes 265
5.3.6.8 Creating the Application GUI 268
5.3.6.9 Creating the Query in the HQL Query Editor 270
5.3.6.10 Adding the Query to the GUI Form 272
5.3.7 Build a PHP Project 276
5.3.7.1 Introduction to PHP 276
5.3.7.2 Downloading and Installing Apache HTTP Web Server 277
5.3.7.3 Configuring and Testing the Installed Apache HTTP
Web Server 279
5.3.7.4 Downloading and Installing the PHP Engine 280
5.3.7.5 Testing the Installed PHP Engine 281
5.3.7.6 Creating a PHP Project 283
5.3.7.7 Downloading and Configuring MySQL Database Server 285
5.3.7.8 Configuring the MySQL Server in NetBeans IDE 288
5.3.7.9 Creating Our Sample Database MySQLSample 290
5.3.7.10 Building the Functions for the PHP Project 293
5.3.7.11 Running and Testing the PHP Project 297
5.3.8 Build a NetBeans Module 299
5.3.8.1 Create a New NetBeans Module Project 300
5.3.8.2 Create the Customer Entity Class and Wrap It into a Module 301
5.3.8.3 Create Other Related Modules 303
5.3.8.4 Create the User Interface Module 306

ftoc.indd xi 7/20/2011 6:26:20 PM


xii Contents

5.3.8.5 Set Dependencies between Modules 309


5.3.8.6 Build and Run the NetBeans Module Project 311
5.4 Chapter Summary 312
Homework 313

PART I Building Two-Tier Client–Server Applications 317


Chapter 6 Query Data from Databases 319
Section I Query Data Using Java Persistence API Wizards 319
6.1 Java Persistence APIs 319
6.1.1 Features of JPA 320
6.1.2 Advantages of JPA 320
6.1.3 Architecture and Function of JPA 320
6.2 Query Data Using Java Persistence API Wizards (JPA) 321
6.2.1 Connect to Different Databases and Drivers Using
JPA Wizards 322
6.2.1.1 Connect to the Microsoft Access Database
CSE_DEPT 322
6.2.1.2 Connect to the Microsoft SQL Server 2008 Express
Database CSE_DEPT 323
6.2.1.3 Connect to the Oracle Database 10g Express Edition
CSE_DEPT 333
6.2.2 Create a Java Application Project to Query SQL
Server Database 338
6.2.3 Use Java JPA Wizards to Query the LogIn Table 340
6.2.4 Use Java Persistence API to Build Entity Classes
from Databases 341
6.2.5 Add LogIn Entity Manager and JPA Components
into the Project 344
6.2.5.1 Entity Classes Mapping Files 345
6.2.5.2 Use Java Persistence Query Language Statement 346
6.2.5.3 Static and Dynamic JPA Query API 346
6.2.5.4 Positional Parameters and Named Parameters 348
6.2.5.5 Use Entity Classes to Build a Query to Perform the
Login Process 349
6.2.5.6 Use a JDialog as a MessageBox 351
6.2.6 Use Java JPA Wizards to Create Selection Window 354
6.2.6.1 Add a New JFrame as the SelectionFrame Form 354
6.2.6.2 Modify Codes to Coordinate Operations in SelectionFrame
and LogInFrame 358
6.2.7 Use Java JPA Wizards to Query the Faculty Table 360
6.2.7.1 Create a New FacultyFrame Class and Add It into Our Project 360
6.2.7.2 Add Faculty Entity Manager and JPA Components into
the Project 362
6.2.7.3 Use Entity Classes to Perform Data Query from the
Faculty Table 363

ftoc.indd xii 7/20/2011 11:13:00 AM


Contents xiii

6.2.8 Use Java JPA Wizards to Query the Course Table 372
6.2.8.1 Create a New CourseFrame Class and Add It into Our Project 372
6.2.8.2 Add Course Entity Manager and JPA Components into
the Project 373
6.2.8.3 Use Entity Classes to Perform Data Query from the
Course Table 374
6.2.9 Use Java JPA Wizards to Query Oracle Database 381

Section II Query Data Using Java Runtime Objects Method 383


6.3 Introduction to Runtime Object Method 383
6.4 Create a Java Application Project to Access the SQL Server Database 384
6.4.1 Create Graphic User Interfaces 384
6.4.2 Perform the Data Query for the LogIn Table 388
6.4.2.1 Load and Register Database Drivers 389
6.4.2.2 Connect to Databases and Drivers 393
6.4.2.3 Create and Manage Statement Object 394
6.4.2.4 Use PreparedStatement Object to Perform Dynamic Query 395
6.4.2.5 Use ResultSet Object 398
6.4.3 Develop the Codes for the SelectionFrame Form 399
6.4.3.1 Modify Codes to Coordinate between SelectionFrame
and LogInFrame 402
6.4.4 Perform the Data Query for the Faculty Table 403
6.4.4.1 Add Java Package and Coding for the Constructor 403
6.4.4.2 Query Data using JDBC MetaData Interface 404
6.4.4.3 Query Data Using the execute() Method to Perform a
Query-Related Action 410
6.4.4.4 Query Data Using the CallableStatement Method 412
6.4.5 Perform the Data Query for the Course Table 412
6.4.5.1 Import Java Packages and Coding for the
CourseFrame Constructor 413
6.4.5.2 Query Data from Course Table Using CallableStatements 414
6.4.5.3 Coding for the Select Button Click Event Handler to Perform
CallableStatement Query 420
6.4.5.4 Build the SQL Stored Procedure dbo.FacultyCourse 421
6.4.5.5 Coding for the CourseList Box to Display Detailed Information for the
Selected Course 427
6.4.5.6 Coding for the Back Button Click Event Handler 429
6.4.6 Query Data from the Student Table Using the Java RowSet Object 430
6.4.6.1 Introduction to Java RowSet Object 430
6.4.6.2 The Operational Procedure of Using the JDBC
RowSet Object 432
6.4.6.3 Build a Graphical User Interface StudentFrame Form 433
6.4.6.4 Coding for the Constructor of the StudentFrame Class 435
6.4.6.5 Coding for the Select Button Event Handler to Query Data Using the
CachedRowSet 436
6.4.6.6 Add and Display a Student Picture for the Selected Student 439

ftoc.indd xiii 7/20/2011 11:13:00 AM


xiv Contents

6.5 Create a Java Application Project to Access the Oracle Database 441
6.5.1 Create Graphic User Interfaces 442
6.5.2 Perform the Data Query for the LogIn Table 442
6.5.2.1 Add Oracle JDBC Driver to the Project 442
6.5.2.2 Load and Register Oracle JDBC Driver 443
6.5.2.3 The JDBC Uniform Resource Locators (URLs) 443
6.5.3 Develop the Codes for the SelectionFrame Form 445
6.5.4 Perform the Data Query for the Faculty Table 445
6.5.4.1 Create an Oracle Package FacultyInfo 446
6.5.4.2 Develop the Codes to Perform the CallableStatement Query 447
6.5.5 Perform the Data Query for the Course Table 449
6.5.5.1 Create an Oracle Package FacultyCourse 449
6.5.5.2 Develop the Codes to Perform the CallableStatement Query 451
6.5.6 Query Data from the Student Table Using the Java RowSet Object 453
6.5.6.1 Modify the Codes in the Constructor of the
StudentFrame Class 453
6.5.6.2 Modify the Codes in the Select Button Click Event Handler 453
6.6 Chapter Summary 455
Homework 457

Chapter 7 Insert, Update, and Delete Data from Databases 463


Section I Insert, Update and Delete Data Using Java Persistence API Wizards 463
7.1 Perform Data Manipulations to SQL Server Database Using JPA
Wizards 464
7.1.1 Perform Data Insertion to SQL Server Database
Using JPA Wizards 464
7.1.1.1 Modify the FacultyFrame Window Form 465
7.1.1.2 The Persist Method in the EntityManager Class 466
7.1.1.3 Develop the Codes for the Insert Button Event Handler 468
7.1.1.4 Develop the Codes for the Validation of the Data Insertion 469
7.1.1.5 Build and Run the Project to Test the Data Insertion 471
7.1.2 Perform Data Updating to SQL Server Database Using JPA
Wizards 474
7.1.2.1 Develop the Codes for the Update Button Event Handler 474
7.1.2.2 Build and Run the Project to Test the Data Updating 476
7.1.3 Perform Data Deleting to SQL Server Database Using JPA Wizards 478
7.1.3.1 Develop the Codes for the Delete Button Event Handler 478
7.1.3.2 Build and Run the Project to Test the Data Deletion 480
7.2 Perform Data Manipulations to Oracle Database Using JPA Wizards 482
7.2.1 Perform Data Insertion to Oracle Database Using JPA Wizards 482
7.2.1.1 Modify the FacultyFrame Window Form 482
7.2.1.2 Develop the Codes for the Insert Button Event Handler 483
7.2.2 Perform Data Updating to Oracle Database Using
JPA Wizards 485
7.2.3 Perform Data Deleting to Oracle Database Using JPA Wizards 487

ftoc.indd xiv 7/20/2011 11:13:00 AM


Contents xv

Section II Insert, Update and Delete Data Using Java Runtime Objects Method 488

7.3 Perform Data Manipulations to SQL Server Database Using Java


Runtime Object 488
7.3.1 Perform Data Insertion to SQL Server Database Using Java
Runtime Object 488
7.3.1.1 Modify the FacultyFrame Window Form 489
7.3.1.2 Develop the Codes for the Insert Button Event Handler 490
7.3.1.3 Develop the Codes for the Validation of the Data Insertion 492
7.3.1.4 Build and Run the Project to Test the Data Insertion 493
7.3.2 Perform Data Updating to SQL Server Database Using Java
Runtime Object 496
7.3.2.1 Develop the Codes for the Update Button Event Handler 496
7.3.2.2 Build and Run the Project to Test the Data Updating 497
7.3.3 Perform Data Deleting to SQL Server Database Using Java
Runtime Object 499
7.3.3.1 Develop the Codes for the Delete Button Event Handler 499
7.3.3.2 Build and Run the Project to Test the Data Deleting 500
7.4 Perform Data Manipulations to Oracle Database Using Java Runtime Object 502
7.4.1 Perform Data Insertion to Oracle Database Using Java Runtime
Object 503
7.4.1.1 Modify the FacultyFrame Window Form 503
7.4.1.2 Develop the Codes for the Insert Button Event Handler 504
7.4.2 Perform Data Updating to Oracle Database Using Java Runtime
Object 507
7.4.3 Perform Data Deleting to Oracle Database Using Java Runtime
Object 509
7.5 Perform Data Manipulations Using Updatable ResultSet 510
7.5.1 Introduction to ResultSet Enhanced Functionalities and Categories 510
7.5.2 Perform Data Manipulations Using Updatable ResultSet Object 512
7.5.2.1 Insert a New Row Using the Updatable ResultSet 512
7.5.2.2 Update a Row Using the Updatable ResultSet 517
7.5.2.3 Delete a Row Using the Updatable ResultSet 520
7.6 Perform Data Manipulations Using Callable Statements 522
7.6.1 Perform Data Manipulations to SQL Server Database Using
Callable Statements 523
7.6.1.1 Insert Data to SQL Server Database Using Callable Statements 523
7.6.1.2 Update Data to SQL Server Database Using Callable
Statements 530
7.6.1.3 Delete Data from SQL Server Database Using Callable
Statements 536
7.6.2 Perform Data Manipulations to Oracle Database Using Callable
Statements 540
7.6.2.1 Modify the CourseFrame Form Window 541
7.6.2.2 Build Three Oracle Stored Procedures 542
7.6.2.3 Build and Run the Project to Test the Data Manipulations 547

ftoc.indd xv 7/20/2011 6:26:20 PM


xvi Contents

7.7 Chapter Summary 550


Homework 551

PART II Building Three-Tier Client–Server Applications 555


Chapter 8 Developing Java Web Applications to Access Databases 557
8.1 A Historical Review about Java Web Application Development 557
8.1.1 Using Servlet and HTML Web Pages for Java Web Applications 558
8.1.2 Using JavaServer Pages (JSP) Technology for Java
Web Applications 560
8.1.3 Using Java Help Class Files for Java Web Applications 564
8.1.4 Using Java Persistence APIs for Java Web Applications 569
8.1.5 Using the JSP Implicit Object Session for Java Web Applications 572
8.1.5.1 Modify the FacultyPage JSP File to Use the Session Object 572
8.1.5.2 Build the Transaction JSP File FacultyQuery.jsp 574
8.1.5.3 Build the Help Class FacultyBean 575
8.1.6 Using Java Beans Technology for Java Web Applications 578
8.1.6.1 Modify the Help Class FacultyBean to Make it a Java
Bean Class 580
8.1.6.2 Build a New Starting Web Page FacultyBeanPage 583
8.1.7 Using JavaServer Faces Technology for Java
Web Applications 585
8.1.7.1 The Application Configuration Resource File
faces-config.xml 586
8.1.7.2 Sample JavaServer Face Page Files 587
8.1.7.3 The Java Bean Class File 590
8.1.7.4 The Web Deployment Descriptor File web.xml 591
8.1.7.5 A Complete Running Procedure of JSF Web Applications 591
8.2 Java EE Web Application Model 597
8.2.1 Java EE Web Applications with and without EJB 598
8.3 The Architecture and Components of Java Web Applications 599
8.3.1 Java EE Containers 600
8.3.2 Java EE 6 APIs 601
8.3.2.1 EJBs API Technology 602
8.3.2.2 Java Servlet API Technology 602
8.3.2.3 JSP API Technology 603
8.3.2.4 JavaServer Faces API Technology 604
8.3.2.5 Java Persistence API 606
8.3.2.6 Java Transaction API 606
8.3.2.7 Java Message Service API 607
8.3.3 Java Web Application Life Cycle 607
8.3.4 Java Web Modules 607
8.3.5 Java Web Frameworks 609
8.4 Getting Started with Java Web Applications Using NetBeans IDE 611
8.4.1 Create a Java Web Project 611
8.4.2 Create the Entity Classes from the Database 613

ftoc.indd xvi 7/20/2011 11:13:00 AM


Contents xvii

8.4.3 Create Five Web Pages Using Microsoft Office Publisher 2007 614
8.4.3.1 Create the LogIn Page 615
8.4.3.2 Create the Selection Page 617
8.4.3.3 Create the Faculty Page 619
8.4.3.4 Create the Course Page 622
8.4.3.5 Create the Student Page 625
8.5 Build Java Web Project to Access SQL Server Database 625
8.5.1 Access and Query the LogIn Table Using JSP and Help Class Files 626
8.5.1.1 Modify the LogIn.jsp Page and Create LogInQuery.jsp File 627
8.5.1.2 Create the Java Help Class File LogInQuery.java 629
8.5.1.3 Create a Dialog Box as the Message Box 630
8.5.1.4 Develop the Codes for the Help Class File 632
8.5.1.5 Add the JDBC Driver for the SQL Server Database into
the Project 635
8.5.2 Build the Selection Page 637
8.5.3 Query the Faculty Table Using JSP and JSP Implicit
Session Object 640
8.5.3.1 Modify the Faculty.jsp Page 641
8.5.3.2 Create the FacultyProcess.jsp Page 642
8.5.3.3 Create the Help Class File FacultyQuery.java 645
8.5.4 Insert New Records to the Faculty Table Using JSP and Java Beans 650
8.5.4.1 Modify the Java Help Class FacultyQuery to Make it Java
Bean Class 651
8.5.4.2 Modify the FacultyProcess.jsp Page to Handle Faculty Data
Collection and Insertion 652
8.5.5 Update and Delete Data from the Faculty Table Using JSP and Java
Beans Techniques 656
8.5.5.1 Create a New Java Session Bean Class 656
8.5.5.2 Modify the FacultyProcess Page to Handle Faculty
Data Updating 659
8.5.5.3 Add a Method to the Session Bean to Perform Faculty
Data Deleting 663
8.5.5.4 Modify the FacultyProcess Page to Handle Faculty
Data Deleting 664
8.5.6 Query Data from the Course Table Using JavaServer Faces and
Java Beans 668
8.5.6.1 Modify the Course Page to Make it JavaServer Face Page 668
8.5.6.2 Build the JavaServer Face Managed Bean CourseBean 672
8.5.6.3 Build the Session Bean for Entity Classes CourseFacade 676
8.5.6.4 Set Up Calling Relationship between the JSF Bean and
the Session Bean 680
8.5.6.5 Build and Run the Project to Test the Course Information
Query Functions 681
8.5.7 Update Records from the Course Table Using JavaServer Faces and Java
Beans 682
8.5.7.1 Create Codes for the Update() Method in the JSF
Managed Bean 683

ftoc.indd xvii 7/20/2011 11:13:00 AM


xviii Contents

8.5.7.2 Create Codes for the UpdateCourse() Method in the Session


Bean 684
8.5.8 Delete Records from the Course Table Using JavaServer Faces and
Java Beans 687
8.5.8.1 Build Codes for the Delete() Method in the JSF
Managed Bean 687
8.5.8.2 Build Codes for the DeleteCourse() Method in the
Session Bean 688
8.6 Build Java Web Project to Access and Manipulate Oracle Database 690
8.6.1 Create a Java Web Application Project 691
8.6.2 Modify the Hibernate Configuration File 692
8.6.3 Create Hibernate Utility Files and Mapping Files 694
8.6.3.1 Create the HibernateUtil.java Helper File 694
8.6.3.2 Generate Hibernate Mapping Files and Java Classes 695
8.6.4 Query the LogIn Table Using JSF Pages and Java Beans 697
8.6.4.1 Modify the LogIn.jsp Page to Make it JSF Page 698
8.6.4.2 Create and Build the Java Managed Bean LogInBean Class 700
8.6.5 Build the SelectionPage and the SelectionBean Class 703
8.6.6 Build the ErrorPage to Display any Error Information 707
8.6.7 Set Up the Navigation Rules for Existing Web Pages 708
8.6.8 Query the Faculty Table Using JavaServer Faces and Java Beans 711
8.6.8.1 Modify the Faculty.jsp to Make it Our JSF Page FacultyPage.jsp 711
8.6.8.2 Build the Java Session Bean FacultySessionBean to Handle
Data Actions 715
8.6.8.3 Build the Java Managed Bean FacultyMBean to Manage
Data Actions 719
8.6.8.4 Run the Project to Test the Faculty Information Query 723
8.6.8.5 Modify the faces-config.xml File to Run Project in a Web
Pages Sequence 724
8.6.8.6 Add Codes to the Project to Display a Selected Faculty Image 725
8.6.8.7 Run the Entire Project to Test the Faculty Information Query 727
8.6.9 Insert New Records to the Faculty Table Using JavaServer Faces
and Java Beans 728
8.6.9.1 Add the Codes to the Java Managed Bean to Manage
Data Insertions 728
8.6.9.2 Build the InsertFaculty() Method for the Session Bean to Perform
Data Insertions 730
8.6.9.3 Run the Project to Test the New Faculty Record Insertion 730
8.6.10 Update and Delete Records from the Faculty Table Using JSF Page
and Java Bean 732
8.6.10.1 Add the Codes to the Java Managed Bean to Manage
Data Updating 732
8.6.10.2 Build the UpdateFaculty() Method in the Session Bean to Perform
Data Updating 734
8.6.10.3 Run the Project to Test the Faculty Record Updating Action 735
8.6.10.4 Add the Codes to the Java Managed Bean to Manage
Data Deleting 737

ftoc.indd xviii 7/20/2011 11:13:00 AM


Contents xix

8.6.10.5 Build the DeleteFaculty() Method in the Session Bean to


Perform Data Deleting 738
8.6.10.6 Run the Project to Test the Faculty Record Deleting Action 739
8.6.10.7 Build the Codes for the Back Button Action Attribute in
JSF Page 741
8.6.11 Query Data from the Course Table Using JavaServer Faces
and Java Beans 741
8.6.11.1 Build the JavaServer Face Managed Bean CourseBean 742
8.6.11.2 Build the Java Session Bean CourseSessionBean 746
8.6.11.3 Set Up Calling Relationship between the Managed Bean and the
Session Bean 750
8.6.11.4 Run and Test the Single Page—CoursePage.jsp 750
8.6.11.5 Set Up the Navigation Rules for the CoursePage and the
SelectionPage 751
8.6.11.6 Run and Test the Project in a Sequence Way 754
8.6.12 Update and Delete Records for the Course Table Using JSF Pages
and Java Beans 754
8.6.12.1 Add the Codes to the Java Managed Bean to Manage
Data Updating 754
8.6.12.2 Build the UpdateCourse() Method in the Session Bean to Perform
Data Updating 755
8.6.12.3 Run the Project to Test the Course Record Updating Action 757
8.6.12.4 Add the Codes to the Java Managed Bean to Manage
Data Deleting 759
8.6.12.5 Build the DeleteCourse() Method in the Session Bean to
Perform Data Deleting 760
8.6.12.6 Run the Project to Test the Course Record Deleting Action 761
8.6.12.7 Build the Codes for the Back Button Action Attribute
in JSF Page 762
8.7 Chapter Summary 764
Homework 765

Chapter 9 Developing Java Web Services to Access Databases 769


9.1 Introduction to Java Web Services 770
9.1.1 REST-Based Web Services 770
9.1.2 SOAP-Based Web Services 771
9.2 The Structure and Components of SOAP-Based Web Services 772
9.3 The Procedure of Building a Typical SOAP-Based Web Service
Project 774
9.3.1 Create a New Java Web Application Project WSTestApplication 775
9.3.2 Create A New Java SOAP-Based Web Service Project
WSTest 776
9.3.3 Add Desired Operations to the Web Service 777
9.3.4 Deploy and Test the Web Service on the Selected Container 780
9.3.5 Create Web Service Clients to Consume the Web Service 782
9.4 Getting Started with Java Web Services Using NetBeans IDE 786

ftoc.indd xix 7/20/2011 11:13:00 AM


xx Contents

9.5 Build Java Web Service Projects to Access SQL Server Database 787
9.5.1 Create a New Java Web Application Project WebServiceSQLApp 787
9.5.2 Create a New Java SOAP-Based Web Service Project WebServiceSQL 788
9.5.3 Add Desired Operations to the Web Service 789
9.5.4 Add New Operations to Our Web Services to Perform Data Query 790
9.5.5 Build the User-Defined Method DBConnection() 792
9.5.6 Deploy the Web Service Project and Test the Data Query Function 793
9.6 Build a Windows-Based Web Client Project to Consume the Web Service 795
9.6.1 Copy the FacultyFrame and MsgDislog Components as GUIs 795
9.6.2 Create a Web Service Reference for Our Windows-Based Client
Project 797
9.6.3 Develop the Codes to Call Our Web Service Project 799
9.6.4 Build and Run Our Client Project to Query Faculty Data via
Web Service 801
9.7 Build a Web-Based Client Project to Consume the Web Service 801
9.7.1 Create a Web-Based Client Project WebClientSQL 802
9.7.2 Create a Java Managed Bean FacultyMBean and Add the JDialog
Class MsgDialog 803
9.7.3 Create a Web Service Reference for Our Web-Based Client Project 804
9.7.4 Build the Codes to Call the Web Service to Perform Data Query 805
9.7.5 Build and Run Our Client Project to Query Faculty Data via
Web Service 808
9.8 Build Java Web Service to Insert Data into the SQL Server Database 808
9.8.1 Add a New Operation InsertFaculty() into Our Web Service Project 809
9.8.2 Deploy the Web Service Project 811
9.9 Build a Windows-Based Web Client Project to Consume the Web Service 811
9.9.1 Refresh the Web Service Reference for Our Windows-Based
Client Project 812
9.9.2 Develop the Codes to Call Our Web Service Project 812
9.9.3 Build and Run Our Client Project to Insert Faculty Data via
Web Service 814
9.10 Build a Web-Based Client Project to Consume the Web Service 815
9.10.1 Refresh the Web Service Reference for Our Web-Based
Client Project 816
9.10.2 Develop the Codes to Call Our Web Service Project 816
9.10.3 Build and Run Our Client Project to Insert Faculty Data via
Web Service 818
9.11 Build Java Web Service to Update and Delete Data from the SQL
Server Database 819
9.11.1 Add a New Operation UpdateFaculty() to Perform the Faculty
Data Updating 820
9.11.2 Add a New Operation DeleteFaculty() to Perform the Faculty
Data Deleting 822
9.11.3 Deploy and Test the Web Service Project 824
9.12 Build a Windows-Based Web Client Project to Consume the Web Service 827
9.12.1 Refresh the Web Service Reference for Our Windows-Based
Client Project 827

ftoc.indd xx 7/20/2011 11:13:00 AM


Contents xxi

9.12.2 Develop the Codes to Call Our Web Service Project 827
9.12.2.1 Build the Codes to Call the UpdateFaculty() Operation 827
9.12.2.2 Build the Codes to Call the DeleteFaculty() Operation 830
9.12.3 Build and Run Our Client Project to Update and Delete Faculty Record via
Web Service 831
9.13 Build a Web-Based Client Project to Consume the Web Service 834
9.13.1 Refresh the Web Service Reference for Our Web-Based Client Project 834
9.13.2 Develop the Codes to Call Our Web Service Operation
UpdateFaculty() 835
9.13.3 Develop the Codes to Call Our Web Service Operation
DeleteFaculty() 837
9.13.4 Build and Run Our Client Project to Update and Delete Faculty Record via
Web Service 838
9.14 Build Java Web Service Projects to Access Oracle Databases 840
9.14.1 Create a New Java Web Application Project WebServiceOracleApp 841
9.14.2 Create a New Java SOAP-Based Web Service Project
WebServiceOracle 842
9.14.3 Add a JDialog Class into the Web Services Project 843
9.14.4 Add Java Persistence API and Entity Classes from Database 843
9.14.5 Add Java Session Beans for Entity Classes 845
9.14.6 The Organization of Web Service Operations and Session Bean
Methods 848
9.14.7 Add the Session Bean Classes CourseFacade into Our Web Service 849
9.14.8 Create and Build the Session Bean Methods and Web Service
Operations 849
9.14.8.1 Create and Build Session Bean Method getCourseID() 850
9.14.8.2 Create and Build Web Service Operation QueryCourseID() 852
9.14.8.3 Build and Run the Web Service to Test the course_id Query
Function 854
9.14.8.4 Create and Build Session Bean Method getCourse() 855
9.14.8.5 Create and Build Web Service Operation QueryCourse() 857
9.14.8.6 Build and Run the Web Service to Test the Course Query
Function 858
9.14.8.7 Create and Build Session Bean Method newCourse() 860
9.14.8.8 Create and Build Web Service Operation InsertCourse() 862
9.14.8.9 Build and Deploy the Web Service Project 863
9.14.8.10 Create and Build Session Bean Method setCourse() 864
9.14.8.11 Create and Build Web Service Operation UpdateCourse() 867
9.14.8.12 Build and Deploy the Web Service Project 868
9.14.8.13 Create and Build Session Bean Method removeCourse() 868
9.14.8.14 Create and Build Web Service Operation DeleteCourse() 870
9.14.8.15 Build and Test the Web Service Project 871
9.15 Build a Windows-Based Web Client Project to Consume the Web Service 873
9.15.1 Create a New Windows-Based Web Client Project WinClientOracle 873
9.15.2 Copy the CourseFrame and MsgDislog Components as GUIs 874
9.15.3 Create a Web Service Reference for Our Windows-Based Client
Project 875

ftoc.indd xxi 7/20/2011 11:13:00 AM


xxii Contents

9.15.4 Develop the Codes to Call Our Web Service Project 876
9.15.4.1 Build Codes for the Select Button Method to Query CourseIDs 877
9.15.4.2 Build Codes for the CourseListValueChanged() Method to Get Course
Details 879
9.15.4.3 Build Codes for the Insert Button Method to Insert Courses 882
9.15.4.4 Build Codes for the Update Button Method to Update Courses 885
9.15.4.5 Build Codes for the Delete Button Method to Delete Courses 888
9.16 Build a Web-Based Web Client Project to Consume the Web Service 890
9.16.1 Create a Web-Based Client Project WebClientOracle 890
9.16.2 Create a Java Managed Bean CourseBean and Add the JDialog Class
MsgDialog 891
9.16.3 Create a Web Service Reference for Our Web-Based Client Project 893
9.16.4 Develop the Codes to Call Our Web Service Project 894
9.16.4.1 Build Codes for the Select Button Method to Query CourseIDs 894
9.16.4.2 Build Codes for the Detail Button Method to Get Course
Details 897
9.16.4.3 Build Codes for the Update Button Method to Update Courses 899
9.16.4.4 Build Codes for the Delete Button Method to Delete Courses 901
9.17 Chapter Summary 904
Homework 905

Index 909

About the Author 919

ftoc.indd xxii 7/20/2011 11:13:00 AM


Preface

D atabases have become an integral part of our modern day life. We are an information-
driven society. Database technology has a direct impact on our daily lives. Decisions are
routinely made by organizations based on the information collected and stored in data-
bases. A record company may decide to market certain albums in selected regions based
on the music preference of teenagers. Grocery stores display more popular items at the
eye level and reorders are based on the inventories taken at regular intervals. Other
examples include patients’ records in hospitals, customers’ account information in banks,
book orders by the libraries, club memberships, auto part orders, winter cloth stock by
department stores, and many others.
In addition to database management systems, in order to effectively apply and imple-
ment databases in real industrial or commercial systems, a good graphic user interface
(GUI) is needed to enable users to access and manipulate their records or data in data-
bases. NetBeans IDE is an ideal candidate to be selected to provide this GUI functional-
ity. Unlike other programming languages, Java is a kind of language that has advantages,
such as easy to earn and easy to be understood, with little learning curves. Beginning from
Java 1.0, Sun has integrated a few programming languages, such as C++, JavaFX, and PHP,
with some frameworks into dynamic models that make Internet and Web programming
easy and simple, and any language integrated in this model can be used to develop pro-
fessional and efficient Web applications that can be used to communicate with others via
Internet.
This book is mainly designed for college students and software programmers who
want to develop practical and commercial database programming with Java and relational
databases, such as Microsoft Access, SQL Server 2008, and Oracle Database 10 g XE. The
book provides a detailed description about the practical considerations and applications
in database programming with Java and authentic examples and detailed explanations.
More important, a new writing style is developed and implemented in this book, com-
bined with real examples, to provide readers with a clear picture as how to handle the
database programming issues in NetBeans IDE environment.
The outstanding features of this book include but are not limited to the following.
1. A novel writing style is adopted to attract students or beginning programmers who are
interested in learning and developing practical database programs, with the hope of avoiding
the headaches caused by huge blocks of codes found in traditional database programming
books.
2. A real completed sample database, CSE_DEPT, with three versions (Microsoft Access 2007,
SQL Server 2008, and Oracle Database 10 g XE Release 2), is provided and used for the
entire book. A step-by-step, detailed description about how to design and build a practical
relational database is provided.

xxiii

fpref.indd xxiii 7/20/2011 11:13:00 AM


xxiv Preface

3. Both fundamental and advanced database programming techniques are covered, for the
convenience of both beginning students and experienced programmers.
4. Updated Java database programming techniques, such as Java Persistence API, Java
Enterprise Edition 6, JavaServer Pages, JavaServer Faces, and Enterprise Java Beans, are
discussed and analyzed with real projects to enable readers to have a clear picture and
easy-to-learn path for Java database applications.
5. More than 30 real sample database programming projects are covered, with detailed illustra-
tions and explanations to help students to understand key techniques and programming
technologies.
6. Three types of popular databases are covered and discussed in detail with practical sample
examples: Microsoft Access, SQL Server 2008, and Oracle Database 10 g Express Edition
(XE).
7. The various actual JDBC APIs and JDBC drivers are discussed and presented with real
example coding explanations. The working structure and principle of using a JDBC driver
to establish a valid database connection, build an SQL statement, and process the query
results are introduced in detail with example codes. JDBC RowSet, a useful tool, is also
discussed and analyzed with some example codes.
8. Problems and selected solutions are provided for each chapter to strengthen and improve
understanding of the topics.
9. Power Point teaching slides are also provided to help instructors.

I sincerely hope that this book will be useful to all who adopt it, as a textbook for
college students, as well as a reference book for programmers, software engineers,
and academic researchers. I would be more than happy to know that you have been able
to develop and build professional and practical database applications with the help of
this book.

YING BAI

fpref.indd xxiv 7/20/2011 11:13:00 AM


Acknowledgments

First, I thank my wife, Yan Wang, in particular. I could not have finished this book
without her sincere encouragement and support.
I also thank Satish Bhalla, who made important contributions to Chapter 2. Dr. Bhalla
is a specialist in database programming and management, in particular, in SQL Server,
Oracle, and DB2. Dr. Bhalla spent much time preparing materials for the first part of
Chapter 2, and this is gratefully acknowledged.
Many thanks also go to Mary Mann at Wiley, who helped to make this book available
to the public, and for her deep perspective and hard work. The same thanks are extended
to the editorial team, without whose contributions the book would not have been
published.
Thanks should also be extended to the following book reviewers for their important
feedback on the manuscript:
• Dr. Jifeng Xu, Research Scientist, Boeing Company
• Dr. Xiaohong Yuan, Associate Professor, Department of Computer Science, North Carolina
A&T State University
• Dr. Daoxi Xiu, Application Analyst Programmer, North Carolina Administrative Office of
the Courts
• Dr. Dali Wang, Assistant Professor, Department of Physics and Computer Science, Christopher
Newport University
Finally, thanks should be given to all of the people who supported me in the comple-
tion of this book.

xxv

flast.indd xxv 7/20/2011 11:12:59 AM


Random documents with unrelated
content Scribd suggests to you:
LA XXXIXe NOUVELLE.
PAR MONSEIGNEUR DE SAINT POL.

ng gentil chevalier des marches de Haynau, riche,


puissant, vaillant, et trèsbeau compaignon, fut
amoureux d'une trèsbelle dame assez et longuement;
fut aussi tant en sa grace, et si privé d'elle, que
toutesfoiz que bon luy sembloit se rendoit en ung lieu de
son hostel à part et destourné, où elle luy venoit faire compagnie; et
là devisoient tout à leur beau loisir de leurs gracieuses amours. Et
n'estoit ame qui rien scéust de leur très plaisant passe temps, sinon
une damoiselle qui servoit ceste dame, qui bonne bouche
trèslonguement porta; et tant les servoit à gré en tous leurs affaires
qu'elle estoit digne d'ung grand guerdon en recevoir. Elle avoit aussi
tant de vertu que non pas seulement sa maistresse avoit gaignée
par la servir comme dit est, et aultrement, mais le mary de sa dame
ne l'amoit pas mains que sa femme, tant la trouvoit loyalle, bonne,
et diligente. Advint ung jour que ceste dame sentent son serviteur le
chevalier dessusdit en son hostel, devers lequel elle ne povoit aller si
tost qu'elle eust bien voulu, à cause de son mary qui les destournoit,
dont elle estoit bien desplaisante, s'advisa de luy mander par la
damoiselle qu'il eust encores ung peu de pacience, et que au
plustost qu'elle saroit se desarmer de son mary qu'elle viendra vers
luy. Ceste damoiselle vint vers le chevalier qui sa dame attendoit, et
dist sa charge. Et il, qui gracieux estoit, la mercya beaucop de ce
messaige, et la fist seoir auprès de luy, puis la baisa deux ou trois
foiz très doulcement; elle l'endura voluntiers, qui bailla courage au
chevalier de proceder au surplus, dont il ne fut pas reffusé. Cela fait,
elle revint à sa maistresse, et luy dist que son amy n'attendoit
qu'elle: «Helas! dit elle, je scay bien qu'il est vray, mais monseigneur
ne se veult coucher; ilz sont cy je ne sçay quelz gens que je ne puis
laisser. Dieu les maudye! j'aymasse mieulx estre vers luy. Il luy
ennuye bien, fait pas, d'estre ainsi seul?—Par ma foy, creez que oy,
dit elle, mais l'espoir de vostre venue le conforte, et attend tant plus
aise.—Je vous en croy, mais toutesfoiz il est là seul, et sans
chandelle, et sont plus de deux heures qu'il y est; il ne peut estre
qu'il ne soit beaucop ennuyé. Si vous prie, m'amye, que vous
retournez encores vers luy une foiz pour m'excuser, et luy faictes
compaignie ung espace; et entretant, si Dieu plaist, le dyable
emportera ces gens qui nous tiennent cy.—Je feray ce qu'il vous
plaira, madame; mais il me semble qu'il est si content de vous qu'il
ne vous fault jà excuser, et aussi se je y alloye vous demourriez icy
toute seule de femmes, et pourroit monseigneur demander pour
moy, et l'on ne me saroit où trouver.—Ne vous chaille de cela, dist
elle, j'en feray bien s'il vous mande; il me desplaist que mon amy est
seul; allez veoir qu'il fait, je vous en prie.—Je y vois, puis qu'il vous
plaist», dit elle. S'elle fut bien joyeuse de ceste ambassade, il ne le
fault jà demander; mais pour couvrir sa volunté, elle en fist
l'excusance et le refus à sa maistresse. Elle fust tantost vers le
chevalier attendant, qui la receut joieusement; si lui dist:
—«Monseigneur, madame m'envoie encores icy s'excuser devers
vous pource que tant vous fait attendre, et croyez qu'elle en est la
plus courroucée.—Vous luy direz, dit il, qu'elle face tout à loisir, et
qu'elle ne se haste de rien pour moy, car vous tiendrez son lieu.»
Lors de rechef la baise et acole, et ne la souffrit partir tant qu'il eut
besognié deux foiz, qui guères ne luy coustèrent; car alors il estoit
frez et jeune et homme fort à cela. Ceste damoiselle print bien en
pacience sa bonne adventure, et eust bien voulu avoir souvent une
telle rencontre, sans le prejudice de sa maistresse. Et quand vint au
partir, elle pria au chevalier que sa maistresse n'en sceust rien.
«Vous n'avez garde, dit il.—Je vous en requier», dist elle. Et puis s'en
vint à sa maistresse, qui demanda tantost que fait son amy? «Il est
là, dit elle, et vous attend.—Voire, dit elle, et est il point mal
content?—Nenny, dit elle, puis qu'il a compaignie. Il vous scet
trèsbon gré que vous m'y avez envoyée; et si ceste attente estoit
souvent à faire, il seroit content m'avoir pour deviser et passer
temps; et par ma foy je y voys voluntiers, car c'est le plus plaisant
homme de jamais; et Dieu scet qu'il le fait bon oyr maudire ces gens
qui vous retiennent, excepté monseigneur: à luy ne vouldroit il
toucher.—Saint Jehan! dit elle, je voudroye que luy et la compaignie
fussent en la rivière, et je fusse dont vous venez.» Tant passa le
temps que monseigneur, Dieu mercy, se deffist de ses gens, vint en
sa chambre, se déshabilla et coucha. Madame se mist en cotte
simple, et print son attour de nuyt, et ses heures en sa main, et
commence devotement, Dieu le scet, à dire sept pseaulmes et
paternostres; mais monseigneur, qui estoit plus esveillé qu'un rat,
avoit grand fain de deviser, si vouloit que madame laissast ses
oroisons jusques à demain, et qu'elle parle à luy: «Ha! monseigneur,
dit elle, pardonnez moy, je ne puis vous entretenir maintenant; Dieu
va devant, vous le savez; je n'aroye meshuy bien, ne de sepmaine,
si je n'avoie dit le tant pou de service que je luy sçay faire; et
encores de mal venir je n'eu piéça tant à dire que j'ay maintenant.»
Alors dist monseigneur: «Vous m'affolez bien de ceste bigoterie; et
est ce à faire à vous de dire tant d'heures? Ostez, ostez, laissez les
dire aux prestres. Dy je pas bien, Jehannette?» dist il à la damoiselle
dessus dicte.—«Monseigneur, dit elle, je n'en sçay que dire, sinon,
puis que madame est accoustumée de servir Dieu, qu'elle parface.—
A dya, dit madame, monseigneur, je voy bien que vous estes avoyé
de plaider, et j'ay volunté d'achever mes heures; si ne sommes pas
bien d'un accord. Si vous lairray Jehannette qui vous entretiendra, et
je m'en iray en ma chambrette là derrière tancer à Dieu.»
Monseigneur fut content. Si s'en alla madame les grans galotz vers
le chevalier son amy, qui la receut Dieu scet en grand liesse et
reverence, car l'onneur qu'il luy fist n'estoit pas maindre qu'à genouz
ployez et enclinez jusques à terre. Mais vous devez savoir que
tantdiz que madame achevoit ses heures avec son amy,
monseigneur son mary, ne sçay de quoy il lui sourvint, prya
Jehannette, qui luy faisoit compaignie, d'amours à bon escient. Et
pour abreger, tant fist par promesses et par beau langage, qu'elle fut
contente d'obéyr; mais le pis fut que madame, au retour de son
amy, qui l'acola deux foiz à bon escient avant son partir, trouva
monseigneur son mary et Jehannette sa chambrière en tel ouvrage
et semblable qu'elle venoit de faire, dont elle fut bien esbahye, et
encores plus monseigneur et Jehannette, qui se trouvèrent ainsi
sourprins. Quand madame vit ce, Dieu scet comment elle salua la
compaignie, jà soit qu'elle eust bien cause de se taire; et se print à
la pouvre Jehannette par si très grant courroux qu'il sembloit bien
qu'elle eust ung dyable ou ventre, tant luy disoit de villainnes
parolles. Encores fist elle plus et pis, car elle print ung grant baston
et l'en chargea trèsbien le doz, voyant monseigneur, qui en fut mal
content et desplaisant, et se leva sur piez et batit tant madame
qu'elle ne se povoit sourdre. Et quant elle vit qu'elle n'avoit
puissance que de sa langue, Dieu scet s'elle la mist en œuvre, mais
adressoit la plus part de ses motz venimeux sur la pouvre
Jehannette, qui n'en peut plus souffrir, si dit à monseigneur le
gouvernement de madame, et dont elle venoit à ceste heure de dire
ses oroisons et avec quy. Si fut la compaignie bien troublée,
monseigneur tout le premier, qui se doubtoit assez, et madame, qui
se trouve affolée et batue et de sa chambrière accusée. Le surplus
du gouvernement du mesnaige bien troublé demoure en la bouche
de ceulx que le scevent, si n'en fault jà plus avant enquerir.
LA XLe NOUVELLE.
PAR MESSIRE MICHAULT DE CHANGY.

l advint naguères à Lille que ung grand clerc et


prescheur de l'ordre Saint Dominicque convertit, par sa
sainte et doulce predicacion, la femme d'un bouchier,
par telle et si bonne façon qu'elle l'aimoit plus que tout
le monde, et n'avoit jamais au cueur bien ne en soy
parfaicte liesse s'elle n'estoit emprès luy. Mais maistre moyne en la
parfin s'ennuya d'elle, et estoit sur son corps dependant, ce qu'il luy
feist grand pièce après, et eust trèsbien voulu qu'elle se fust
deportée de si souvent le visiter; dont elle estoit tant mal contente
que plus ne povoit, mesmes le reboutement qu'il luy faisoit trop plus
avant en son amour l'enracinoit. Damp moyne, ce voyant, luy
defendit sa chambre, et chargea bien expressement à son clerc qu'il
ne la souffrist plus entrer dedans, quelque chose qu'elle luy dye.
S'elle fut plus mal contente que par avant, ce ne fut pas de
merveille, car elle estoit ainsi que forcenée. Et si vous me demandez
à quel propos damp moyne ce faisoit, je vous respons que ce
n'estoit pas par devocion ne pour vouloir qu'il eust de devenir
chaste; mais la cause est qu'il en avoit racointée une plus belle, plus
jeune beaucop, et plus riche, qui desjà estoit tant privée qu'elle avoit
la clef de sa chambre. Tant fist toutesfoiz que la bouchière ne venoit
plus vers luy comme elle avoit de coustume; si avoit trop meilleur et
plus seur loysir sa dame nouvelle de venir gaingner les pardons en
sa chambre et paier le disme, comme les femmes d'Ostellerie, dont
cy dessus est touché. Ung jour fut prest de faire bonne chère en la
chambre de maistre moyne, après disner, où sa dame promist de
comparoir et faire apporter sa porcion, tant de vin comme de viande.
Et car aucuns de ses frères de léens estoient assez de son mestier, il
en invita deux ou troys tout secretement; et Dieu scet la grand chère
qu'on fist à ce disner, qui ne se passa point sans boire d'autant. Or
devez vous savoir que nostre bouchière cognoissoit assez les gens
de ces prescheurs, qu'elle veoit passer devant sa maison, qui
portoient puis du vin, puis des pastez, et puis des tartres, et tant de
choses que merveilles. Si ne se peut tenir de demander quelle feste
on fait à leur hostel? Et il luy fut respondu que ces biens sont pour
ung tel, c'est assavoir son moyne, qui a gens de bien au disner. «Et
qui sont ilz? dit elle.—Ma foy je ne scay, dit il; je porte mon vin
jusques à l'huys tant seullement, et là vient nostre maistre qui me
descharge; je ne sçay qui y est.—Voire, dit elle, c'est la secrète
compaignie. Or bien allez vous en et les servez bien.» Tantost passa
ung aultre serviteur qu'elle interroga pareillement, qui luy dist
comme son compaignon, mais plus avant, car il dit: «Je pense qu'il y
a une damoiselle qui ne veult pas estre veue ne congneue.» Elle
pensa tantost ce qui estoit; si cuida bien enrager, tant estoit mal
contente, et disoit en soy mesmes qu'elle fera le guet sur celle qui
luy fait tort de son amy, et qui luy a baillé le bout. Et s'elle la peut
rencontrer, ce ne sera pas sans luy dire sa leçon, et egratigner le
visage. Si se mist au chemin en intencion d'executer ce qu'elle avoit
conclud. Quand elle fut venue au lieu desiré, moult luy tardoit de
rencontrer celle qu'elle hayt plus que personne; si n'eut pas tant de
constance que d'attendre qu'elle saillist de la chambre où elle avoit
fait maintes bonnes chères, mais s'advisa de prendre une eschalle
que ung couvreur avoit laissée lez son ouvrage tantdiz qu'il estoit
allé disner; elle dressa ceste échelle à l'endroit de la cheminée de la
cuisine de l'ostel, où elle vouloit estre pour saluer la compaignie, car
bien savoir que aultrement n'y pourroit entrer. Ceste eschelle mise à
point comme elle la voulut avoir, elle monta jusques à la cheminée, à
l'entour de laquelle elle lya très bien une moyenne corde qu'elle
trouva d'adventure. Et cela fait, trèsbien, comme luy sembloit, elle
se bouta dedans la dicte cheminée, et se commença à descendre et
ung peu avaler; mais le pis fut qu'elle demoura en chemin, sans se
pouvoir ravoir, ne monter, ne avaler, quelque peine qu'elle y mist, et
ce à l'occasion de son derrière qui estoit beaucop gros et pesant, et
de sa corde qui rompit, par quoy ne se povoit ressourdre. Si estoit,
Dieu scet, en merveilleux desplaisir, et ne savoit que faire ne que
dire. Si s'advisa qu'elle attendroit le couvreur et qu'elle se mettroit
en sa mercy, et l'appellera quand il viendra querre son eschelle et sa
corde. Elle fut bien trompée, car le couvreur ne vint à l'œuvre
jusques au lendemain bien matin, pource qu'il fist trop grand pluye,
dont elle eut bien sa part, car elle fut toute percée. Quand vint sur le
soir, bien tart, nostre bouchière oyt gens deviser en la cuisine; si
commença à hucher, dont ilz furent bien esbahiz et effraiez, et ne
savoient qui les huchoit ne où elle estoit. Toutesfoiz, quelque esbahiz
qu'ilz fussent, ilz entendirent encores ung peu: s'ilz oyrent la voix du
par avant, arrière hucher très aigrement; si cuidèrent que ce fut ung
esperit, et le vindrent annuncer à leur maistre, qui estoit en
dortouer, et ne fut pas si vaillant d'y venir veoir que c'estoit, mais il
mist tout à demain. Pensez la belle patience que ceste bonne femme
eut, qui fut toute la nuyt en ceste cheminée. Et de sa bonne
adventure, il ne pleut long temps aussi fort, ne si bien. Lendemain,
assez matin, nostre couvreur revint à l'œuvre pour recouvrer la perte
que la pluye luy fist le jour devant. Il fut tout esbahy de veoir son
eschelle ailleurs qu'il ne la laissa, et la cheminée lyée de sa corde: si
ne savoit qui ce avoit fait ne à quoy. Si s'advisa d'aller querre sa
corde, et monta à mont son eschelle, et vint jusques à la cheminée,
et destacha sa corde; et de bien venir, bouta sa teste dedans la
cheminée, où il vit nostre bouchière plus simple qu'un chat baigné,
dont il fut très esbahy. «Et que faictes vous icy, dame? dit il; voulez
vous desrober les pouvres religieux de ceans?—Helas! mon amy, dist
elle, par ma foy, nenny. Je vous requier, aidez moy à saillir d'icy, et je
vous donneray ce que me vouldrez demander.—A! je m'en garderay
bien, dist le couvreur, si je ne sçay dont vous y venez.—Je le vous
diray, puis qu'il vous plaist, dit elle; mais je vous prie, qu'il n'en soit
nouvelle.» Lors luy compta tout du long les amours d'elle et du
moyne, et la cause dont elle venoit là. Le couvreur eut pitié d'elle, si
fist tant, à quelque meschef que ce fut, moyennant sa corde, qu'il la
tira dehors, et la mena en bas. Et elle luy promist que, si tenoit
bonne bouche, elle luy donneroit de la char et de bœuf et de
mouton pour fournir son mesnage pour toute ceste année, ce qu'elle
fist. Et l'autre tint si secret son cas que chascun en fut adverty.
LA XLIe NOUVELLE.
PAR MONSEIGNEUR DE LA ROCHE.

ng gentil chevalier de Haynau, sage, subtil et trèsgrand


voyageur, après la mort de sa très bonne femme et
sage, pour les biens qu'il avoit trouvez en mariage ne
sceut passer son temps sans soy lyer comme il fut par
avant, car il espousa une trèsbelle et gente damoiselle,
non pas des plus subtiles du monde; car, à la verité dire, elle estoit
ung peu lourde en la taille, et c'estoit en elle qui plus plaisoit à son
mary, pource qu'il esperoit par ce point mieulx la duyre et tourner à
la fasson qu'avoir la vouldroit. Il mist sa cure et son estude à la
fassonner, et de fait elle luy obéissoit et complaisoit comme il le
desiroit, si bien qu'il ne sceut mieulx demander. Et entre aultres
choses, toutesfoiz qu'il vouloit faire l'amoureux jeu, qui n'estoit pas
si souvent qu'elle eust bien voulu, il luy faisoit vestir ung très beau
jaserant, dont elle estoit bien esbahie; et de prinsault lui demanda
bien à quel propos il la faisoit armer. Et il luy respondit qu'on ne se
doit point trouver à l'assault amoureux sans armes. Et fut contente
de vestir se jaserant; et n'avoit aultre regret que monseigneur
n'avoir l'assault plus au cueur, combien que ce luy estoit assez grand
peine s'aucun plaisir ne fust ensuy. Et si vous demandez à quel
propos son seigneur ainsi la gouvernoit, je vous respons que la
cause qui à ce faire le mouvoit estoit affin que madame ne désire
pas tant l'assault amoureux, pour la peine et empeschement de ce
jaserant. Mais combien qu'il fust bien sage, il s'abusoit de trop; car si
le jaserant à chacun assault luy eust cassé et doz et ventre, si n'eust
elle pas refusé le vestir, tant luy estoit et doulx et plaisant ce qui
s'ensuyvoit. Ceste manière de faire dura beaucop, et tant que
monseigneur fut mandé pour servir son prince en la guerre, et en
aultre assault que le dessusdit. Si print congié de madame et s'en
alla où il fut mandé. Elle demoura à l'ostel en la garde et conduicte
d'un ancien gentil homme et d'aucunes damoiselles qui la servoient.
Or devez vous savoir qu'en cest hostel avoit gentil compaignon clerc,
qui trèsbien chantoit et jouoit de la harpe, et avoit la charge de la
despense. Et aprés disner s'esbatoit voluntiers de la harpe; à quoy
madame prenoit trèsgrand plaisir, et se rendoit souvent vers luy au
son de la harpe. Tant y ala et tant s'i trouva que le clerc la pria
d'amours; et elle, désirant de vestir son jaserant, ne l'escondit pas,
ainçois luy dist: «Venez vers moy à tele heure et en telle chambre,
et je vous feray response telle que vous serez content.» Elle fut
beaucop merciée, et à l'heure assignée, nostre clerc ne faillit pas
devenir hurter où madame luy dist, qui l'attendoit de pié coy, le beau
jaserant en son doz. Elle ouvrit la chambre, et le clerc la vit armée;
si cuida que ce fust aultry qui fust embusché léens pour luy faire
desplaisir; dont il fut si trèseffrayé que, de la grand paour qu'il eut, il
chéut à la reverse et descompta ne sçay quants degreez si
trèsroiddement qu'à pou qu'il ne se rompit le col. Mais toutesfoiz il
n'eut garde, tant bien luy aida Dieu et sa bonne querelle. Madame,
qui le vit en ce point et dangier, fut très desplaisante et mal
contente; si vint en bas et luy aida à sourdre, et luy demanda dont
luy venoit ceste paour. Et il luy compta et dist que vrayement il
cuydoit estre deceu. «Vous n'avez garde, dit elle, je ne suis pas
armée pour vous faire mal»; et en ce disant, montèrent arrière les
degrez, et entrèrent en la chambre. «Madame, dit le clerc, je vous
pry, dictes moy, s'il vous plaist, qui vous meut de vestir ce jaserant.»
Et elle, comme ung peu faisant la honteuse, luy respondit: «Et vous
le savez bien.—Par ma foy, sauf vostre grace, madame, dit il, se je le
sceusse je ne le demandasse pas.—Monseigneur, dit elle, quand il
me veult baiser et parler d'amours, il me fait en ce point habiller, et
je sçay bien que vous venez icy à ceste cause; et pour ce me suys
mise en point.—Madame, dit il, vous avez raison; et aussi vous me
faictes souvenir que c'est la manière des chevaliers d'en ce point
faire adouber leurs dames. Mais les clercs ont tout aultre manière de
faire, qui à mon advis est trop plus belle et plus aisée.—Et quelle est
elle, dist la dame, je vous prie?—Je la vous monstreray», dit il. Lors
la fist despoiller de son jaserant et du surplus de ses habillemens
jusques à la belle chemise, et il pareillement se deshabilla, et
misrent à point le beau lit qui là estoit, et se coucherent tout dedans
et se désarmèrent de leurs chemises et passèrent temps deux ou
trois heures bien plaisamment. Et avant partir, le gentil clerc monstra
à madame la coustume des clercs, quelle beaucop loa et trop plus
que celle des chevaliers. Assez et souvent se rencontrèrent depuis
en la fasson dessusdicte, sans qu'il en fust nouvelle, quoy que
madame fust pou subtille. A chef de pièce, monseigneur retourna de
la guerre, dont madame ne fut pas trop joyeuse en son pardedans,
quelque semblant qu'elle monstrast au pardehors. Et à l'heure de
disner, et car el savoit sa venue, il fut servy, Dieu scet comment. Ce
disner se passa; et quand vint à dire graces, monseigneur se mist en
son reng, et madame print son quartier. Tantost que graces furent
achevées et dictes, monseigneur, pour faire du mesnagier et du
gentil compaignon, dist à madame: «Allez tost en nostre chambre et
vestez vostre jaserant.» Et elle, recordant du bon temps qu'elle avoit
eu avec son clerc, respondit tout subit: «Ha! monseigneur, la
coustume des clercs vault mieulx.—La coustume des clercs! dit-il. Et
savez vous leur coustume?» Si se commença à fumer, et coleur
changer, et se doubta de ce qui estoit, combien qu'il n'en sceut
oncques rien, car il fut tout à coup mis hors de sa doubte. Madame
ne fut pas si beste qu'elle n'aperceust bien que monseigneur n'estoit
pas content de ce qu'elle avoit dit, si s'advisa de trouver le ver:
«Monseigneur, je vous ay dit que la coustume des clercs vault
mieulx, et encores le vous dy je.—Et quelle est elle? dit il.—Ilz
boivent après grâces.—Voire dya, dit il, saint Jehan! vous dictes vray,
c'est leur coustume voirement, qui n'est pas mauvaise; et pource
que vous la prisez tant, nous la tiendrons doresenavant. Si firent
apporter du vin et beurent, et puis madame alla vestir son jaserant,
dont elle se fust bien passée, car le gentil clerc luy avoit monstré
aultre fasson de faire qui trop mieulx luy plaisoit. Comme vous avez
oy fut monseigneur par madame en sa response abusé. Et fault dire
que le sens subit qui luy vint à mémoire à ce coup luy descendit en
la vertu du clerc, qui depuis luy monstra foison d'aultres tours, dont
monseigneur en la parfin se trouva noz amis.
LA XLIIe NOUVELLE.
RACOMPTÉE PAR MÉRIADECH.

'an cinquante derrenier passé, le clerc d'un village du


diocèse de Noyon, pour impetrer et gaigner les pardons
qui furent à Romme, qui sont tels que chascun sçait, se
mist à chemin, en la compaignie de pluseurs gens de
bien de Noyon, de Compiengne, et des lieux voisins.
Mais avant son departement disposa de ses besoignes bien et
surement: premièrement de sa femme et de son mesnage, et le fait
de sa coustrerie recommenda à ung jeune gentil clerc pour la
desservir jusques à son retour. En assez bref temps il vint à Romme
lui et sa compaignie, et firent chacun leur devocion et pelerinage le
mains mal qu'ilz sceurent; mais vous devez savoir que nostre clerc
trouva d'adventure à Romme ung de ses compaignons d'escole du
temps passé, qui estoit ou service d'un grand cardinal, et en grand
autorité, qui fut trèsjoieux de l'avoir trouvé, pour l'accointance qu'il
avoit à luy, et luy demanda de son estat. Et l'autre luy compta tout
du long tout premier comment il estoit, hélas! maryé, son nombre
d'enfans, et comment il estoit clerc d'une parroiche. «Ha! dit son
compaignon, par mon créateur, il me desplaist bien que vous estes
maryé.—Pourquoy? dit l'autre.—Je le vous diray, dit il; ung tel
cardinal m'a chargé expressément que je luy trouve un serviteur
pour estre son notaire, qui soit de nostre marche; et croiez que ce
seroit trèsbien vostre fait, pour estre tost et largement pourveu, se
ce ne fust vostre mariage, qui vous fera repatrier, et espoire plus
grans bien perdre que vous n'y arez.—Par ma foy, dit le clerc, mon
mariage n'y fait rien, mon compaignon; car, à vous dire vérité, je me
suis party de nostre pays soubz umbre du pardon qui est à present
icy. Mais creez que ce n'a pas esté ma principale intention, car j'ay
conclud d'aller jouer deux ou trois ans par pays; et ce pendant ce
temps si Dieu vouloit prendre ma famme, jamais je ne fu si eureux.
Et pourtant je vous requier que vous soyez mon moyen vers ce
cardinal que je le serve; et, par ma foy, je feray tant que vous n'arez
jà reprouche pour moy; et s'ainsi le faictes vous me ferez le plus
grand service que jamais compaignon fist à autre.—Puis que vous
avez ceste volunté, dist son compaignon, je vous serviray à ceste
heure, et vous logeray pour avoir bon temps, se à vous ne tient.—Et,
mon amy, je vous mercie», dit l'autre. Pour abreger, nostre clerc fut
logié avecques ce cardinal, laquelle chose il manda à sa femme,
l'ensemble et son intencion, que n'est pas de retourner par delà si
tost qu'il luy dist au partir. Elle se conforta, et luy rescripst qu'elle
fera le mieulx qu'elle pourra. Ou service de ce cardinal se maintint et
conduisit gentement nostre bon clerc, et fist tant à chef de pièce
qu'il gaigna son maistre, lequel n'avoit pas pou de regret qu'il
n'estoit habile à tenir bénéfices, car largement l'en eust pourveu.
Pendant le temps que nostre dit clerc estoit ainsi en grace que dit
est, le curé de son village alla de vie à mort, et ainsi vaca son
benefice, qui estoit ou mois du pape, dont le coustre, tenant le lieu
de son compaignon estant à Romme, se pensa qu'au plus tost qu'il
pourroit qu'il courroit à Romme et feroit tant à l'ayde de son
compaignon qu'il auroit ceste cure. Il ne dormit pas, car en pou de
jours, après maintes peines et travaulx, tant fist qu'il se trouva à
Romme, et n'eut oncques bien tant qu'il eust trouvé son
compaignon, le clerc servant le cardinal. Après grosses
recognoissances et d'ung costé et d'aultre, le clerc demanda de sa
femme, et l'autre, esperant de luy faire ung trèsgrand plaisir, et affin
que la besoigne dont il le veult requerre en vaille mieulx, luy
respondit qu'elle estoit morte; dont il mentoit, car je tien qu'à ceste
heure elle saroit bien tanser son mary. «Dictes vous doncques que
ma femme est morte, dit le clerc, et je prie à Dieu qu'il luy pardonne
ses pechez.—Oy vrayement, dit l'autre, la pestilence de l'année
passée avecques aultres pluseurs l'emporta.» Or faindoit il ceste
bourde, qui depuis luy fut cher vendue, pource qu'il savoit que le
clerc ne s'estoit party de son pais qu'à l'occasion de sa femme, qui
estoit trop peu paisible, et que plus plaisant nouvelle d'elle ne luy
pourroit on apporter que de sa mort. Et à la vérité ainsi en estoit il,
mais le rapport fut faulx. «Et qui vous amaine en ce pais? dist il,
après pluseurs et diverses devises.—Je le vous diray, mon
compaignon et mon amy. Il est vrai que le curé de nostre ville est
trespassé; si vien vers vous pour que par vostre bon moien je puisse
parvenir à son benefice. Si vous prie tant que puis que me veillez
aider à ce besoing. Je sçay bien qu'il est en vous de le me faire avoir,
à l'aide de monseigneur vostre maistre.» Le clerc, pensant sa femme
estre morte et la cure de sa ville vacquer, conclud en soy mesmes
que il happera ce benefice, et aultres encores, s'il y peut parvenir.
Mais toutesfoiz il ne le dit pas à son compaignon, ainçois luy dist
qu'il ne tiendroit pas à luy qu'il ne soit curé de leur ville, dont il fut
beaucop mercyé. Tout autrement alla, car au lendemain nostre saint
père, à la requeste du cardinal maistre de nostre clerc, luy donna
ceste cure. Si s'en vint ce clerc à son compaignon, quand il sceut ces
nouvelles, et luy dist: «Ha! mon amy, par ma foy, vostre fait est
rompu, dont me desplaist bien.—Et comment? dit l'aultre.—La cure
de nostre ville est donnée, dit il, mais je ne sçay à qui. Monseigneur
mon maistre vous a cuidé aider, mais il n'a pas esté en sa puissance
de faire vostre fait.» Qui fut bien mal content, ce fut celuy qui estoit
venu de si loing perdre sa peine et despendre son argent, dont ce ne
fut pas dommaige. Si print congié bien piteux de son compaignon, et
s'en retourna en son pais, sans soy vanter de la bourde qu'il a
semée. Or retournons à nostre clerc, qui estoit plus gay que une
mitaine de la mort de sa femme, et de la cure de leur ville que
nostre saint père, à la requeste de son maistre, luy avoit donnée
pour recompense. Et disons comment il devint prestre à Romme, et
y chanta sa bien devote première messe, et print congié de son
maistre pour une espace de temps, à venir par deçà à leur ville
prendre possession de sa cure. A l'entrée qu'il fist de leur ville, de
son boneur la première personne qu'il rencontra ce fut sa femme,
dont il fut bien esbahy, je vous en asseure, et encores beaucop plus
courroucé. «Et qu'est ce cy, dist il, m'amye? et on m'avoit dit que
vous estiez trespassée.—Je m'en suis bien gardée, dit elle. Vous le
dictes, ce croy je, pource que l'eussez bien voulu; et vous l'avez bien
monstre, qui m'avez laissée l'espace de cinq ans à tout une grant tas
de petiz enfans.—M'amye, dit il, je suis bien joyeux de vous veoir en
bon point, et en loe Dieu de tout mon cueur; maudit soit qui m'en
apporta aultres nouvelles!—Ainsi soit il, dit elle.—Or je vous diray,
m'amye: je ne puis arrester pour maintenant; force est que je m'en
aille hastivement devers monseigneur de Noyon, pour une besongne
qui luy touche; mais au plus bref que je pourray je vous verray.» Il
se partit de sa femme et prend son chemin devers Noyon, mais Dieu
scet s'il pensa en chemin à son pouvre fait: «Hélas! dit il, or suis je
homme deffait et deshonoré: prestre, clerc, et maryé! Je croy que je
suis le premier maleureux de cest estat.» Il vint devers monseigneur
de Noyon, qui fut bien esbahy d'oyr son cas, et ne le sceut
conseiller; si le renvoya à Romme. Quand il y fut venu, il compta à
son maistre, du long et du lé, la verité de son adventure, qui en fut
trèsamèrement desplaisant. Au lendemain il compta à nostre saint
père, en la presence du colliège des cardinaux et de tout le conseil,
l'adventure de son homme qu'il avoit fait curé. Si fut ordonné qu'il
demourra prestre et maryé et curé aussi. Et demourra avec sa
femme en la façon que ung homme maryé honorablement et sans
reprouche, et seront ses enfans legitimez et non bastards, jà soit
que le père soit prestre. Mais au surplus, s'il est trouvé qu'il aille
aultre part que à sa femme, il perdra son benefice. Ainsi qu'avez oy
fut ce galant puny par faulx donner à entendre de son compaignon;
et fut contraint de venir demourer sur son benefice, et qui plus et pis
est, avecques sa femme, dont il se fust bien passé si l'eglise ne l'eust
ordonné.
LA XLIIIe NOUVELLE.
PAR MONSEIGNEUR DE FIENNES.

'a guères que ung bon homme, laboureur et marchant


et tenant sa residence en ung bon village de la
chastellenie de Lille, trouva façon et manière, au
pourchaz de luy et de ses bons amis, d'avoir à femme
une trèsbelle jeune fille qui n'estoit pas des plus riches;
et aussi n'estoit son mary, mais trèsconvoiteux estoit et homme de
grand diligence, et qui fort tiroit d'acquerre et gaigner. Et elle
d'aultre part mettoit peine d'entretenir le mesnage selon le desirier
de son mary, qui à ceste cause l'avoit beaucop en grace, lequel à
mains de regret alloit souvent es affaires de sa marchandise, sans
avoir doubte ne suspicion qu'elle feist aultre chose que bien. Mais le
pouvre homme sur ceste fiance tant y alla et tant la laissa seule, que
ung gentil compaignon s'approucha, et pour abreger fist tant à pou
de jours qu'il fut son lieutenant, dont guères ne se doubtoit celuy qui
cuidoit avoir du monde la meilleur femme, et qui plus pensast à
l'accroissement de son honneur et de sa chevance. Ainsi n'estoit pas,
car elle abandonna tost l'amour qu'elle luy devoit, et ne luy challut
du prouffit ne du dommage; ce seulement luy suffisoit qu'elle se
trouvast avecques son amy, dont il en advint ung jour ce qui
s'ensuyt. Nostre bon marchant dessusdit estant dehors, comme il
avoit de coustume, sa femme le fist tantost savoir à son amy, qui
n'eust pas failly voluntiers à son mandement, mais vint tout
incontinent. Et affin qu'il ne perdist temps, au plustost qu'oncques
peut ne sceust s'approucha de sa dame, et luy mist en terme
pluseurs et divers propos amoureux; et pour conclusion, le desiré
plaisir ne luy fut pas escondit néant plus que autresfoiz, dont le
nombre n'estoit pas petit. De mal venir, tout à ce beau cop que ces
amours se faisoient, véez bon mary d'arriver, qui trouve la
compagnie en besoigne, dont il fut bien esbahy, car il n'eust pas
pensé que sa femme fust telle. «Qu'est ce cy? dist il; par la mort
bieu, ribauld, je vous tueray tout roidde.» Et l'aultre, qui se treuve
surprins et en meffait present achopé, ne savoit sa contenance; mais
car il le savoit diseteux et fort souffreteux, il luy dist tout subit: «Ha!
Jehan, mon amy, je vous cry mercy, pardonnez moy si je vous ay
rien meffait, et par ma foy je vous donray six rasures de blé.—Par
dieu, dit il, je n'en feray rien; vous passerez par mes mains et auray
la vie de vostre corps, si je n'en ay douze rasures. Et la bonne
femme, qui oyoit ce débat, pour y mettre le bien comme elle estoit
tenue, s'advança de parler et dist à son mary: «Et Jehan, beau sire,
laissez luy achever ce qu'il a commencé, je vous requier, et vous
aurez huit rasures. N'ara pas? dit elle, en se virant vers son amy.—
J'en suis content, dit il, mais, par ma foy, c'est trop, ad ce que le blé
est cher.—Est ce trop? dist le vaillant homme; et par la mort bieu, je
me repens bien que je n'ay dit plus hault, car vous avez forfait une
emende, s'il venoit à la cognoissance de la justice, qui vous seroit
beaucop plus tauxée; pourtant faictes vostre compte que j'en aray
douze rasures, ou vous passerez par là.—Et vrayement, dit sa
femme, Jehan, vous avez tort de me desdire; il me semble que vous
devez estre content à ces huit rasures, et pensez y que c'est ung
grand tas de blé.—Ne m'en parlez plus, dit il, j'en auray douze
rasures, ou je le tueray et vous aussi.—A dya, dit le compaignon,
vous estes ung fort marchant; et au mains puis qu'il fault que vous
aiez tout à vostre dit, j'auray terme de paier.—Cela veil je bien, mais
j'aray mes douze rasieres.» La noise s'appaisa; et fut prins jour de
paier à deux termes, les six rasures au lendemain, et les aultres à la
saint Remy prouchainement venant, et ce par l'ordonnance de sa
femme comme moien, qui dist à son mary: «Or ça, vous estes
content, n'est ce pas, de recevoir vostre blé comme j'ay dit.—Oy,
vrayement, dit il.—Or vous en allez, dit elle, tant qu'il ayt achevé ce
qu'il avoit encommencé quand vous sourvenistes; aultrement son
marché seroit nul, que vous l'entendez, car je l'ay mis en devis, s'il
vous en soubvient.—Saint Jehan, il est ainsi, dit le bon compaignon;
je n'yray pas à l'encontre de mon mot, dist le bon marchand. Jà Dieu
ne veille que en marché que je face on me trouve trompeur ne
mensongier. Vous achèverez ce qu'avez entreprins, et j'aray mes
douze rasieres de blé aux termes dessusdictz. Veez là nostre
marchié, n'est pas?—Oy, vrayement, dit sa femme.—Et adieu donc,
dist il; mais toutesfoiz qu'il n'y ait pas faulte que je n'aye demain six
rasieres de blé.—Ne vous doubtez, dit l'aultre, je vous tiendray
promesse.» Ainsi se partit ce vaillant homme de sa maison, joyeux
en son courage, pour ces douze rasieres de blé qu'il doit avoir. Et sa
femme et son amy recommencèrent de plus belle. Du payer soit à
l'adventure, combien toutesfoiz qu'il me fut dit depuis que le blé fut
payé et délivré au jour et terme dessus dictz.
LA XLIVe NOUVELLE.
PAR MONSEIGNEUR DE LA ROCHE.

omme il est aujourduy largement de prestres et curez


qui sont si gentilz compaignons que nulles des folies que
font et commettent les gens laiz ne leur sont impossibles
ne difficiles, avoit n'a guères en ung bon village de
Picardie ung maistre curé qui faisoit rage d'amer par
amours. Et entre les autres femmes et belles filles de sa parroiche, il
choisit et enoeilla une trèsbelle jeune et gente fille à marier, et ne fut
pas si peu hardy qu'il ne luy comptast tout du long son cas. De fait,
son bel et asseuré langage, cent mille promesses et auttretant de
bourdes, la menèrent ad ce qu'elle estoit assez comme contente
d'obéyr à ce curé, qui n'eust pas esté ung petit dommage, tant estoit
belle, gente, et de plaisans manières; et n'avoit en elle que une
faulte, c'estoit qu'elle n'estoit pas des plus subtilles du monde.
Toutesfoiz je ne sçay dont luy vint cest advis ne manière de
respondre; elle dist ung jour à son curé, qui chauldement
poursuyvoit sa besogne, qu'elle n'estoit pas conseillée de faire ce
qu'il requéroit tant qu'elle fust à marier; car si par adventure,
comme il advient chacun jour, elle faisoit ung enfant, elle seroit à
tousjours mès femme deshonorée et reprouchée de son père, de sa
mère, de ses frères, et de tout son lignage; laquelle chose elle ne
pourroit souffrir, et n'a pas cueur pour soustenir et porter le
desplaisir et ennuy qu'endurer luy conviendroit à ceste occasion: «Et
pourtant hors de ce propos, si je suis quelque jour mariée, parlez à
moy, je feray ce que je pourray pour vous, et non aultrement; affin
que vous ne vous y attendez point je le vous dy, et m'en creez une
fois pour toutes.» Monseigneur le curé ne fut pas trop joyeux de
ceste response absolue; et ne scet penser de quel courage, ne à
quel propos elle part; toutesfoiz luy, qui estoit prins ou las d'amours
et féru bien à bon escient, ne veult pas pourtant sa queste
abandonner; si dit à sa dame: «Or ça, m'amye, estez vous en ce
fermée et conclue que de riens faire pour moy si vous n'estes
mariée?—Certes oy, dit elle.—Et si vous estiez mariée, dit il, et j'en
estoie le moien et la cause, en ariez vous après cognoissance, en
moy tenant loyaulment et sans faulseté ce que m'avez promis?—Par
ma foy, dit elle, oy, et de rechef le vous promectz.—Or bien grant
mercy, dit il, faictes bonne chère, car je vous promectz seurement
qu'il ne demourra pas à mon pourchaz ne à ma chevance que vous
ne le soyez, et de bref, car je suis seur que vous ne le desirez pas
tant que je faiz; et affin que vous voiez à l'œil que je suis celuy qui
veil emploier et corps et biens en vostre service, vous verrez
comment je me conduiray en ceste besoigne.—Or bien, dit elle,
monseigneur le curé, l'on verra comment vous ferez.» Sur ce se fist
la despartie; et bon curé, qui avoit le feu d'amours, ne fut depuis
guères aise tant qu'il eut trouvé le père de sa dame, et se mist en
langage avecques luy de pluseurs et diverses matères; et en la fin il
vint et cheut à parler de sa fille, et luy va dire bon curé: «Mon voisin,
je me donne grand merveille, si font aussi pluseurs voz voisins et
amys, que vous ne mariez vostre fille, et à quel propos vous la tenez
tant d'emprès vous, et si savez toutesfoiz que la garde est périlleuse.
Non pas, Dieu me veille garder que je dye ou voulsisse dire qu'elle
ne soit toute bonne; mais vous en voiez tous les jours mesadvenir
puis qu'on les tient oultre le terme deu. Pardonnez-moy toutesfoiz
que si fiablement vous ouvre et descouvre mon courage; car l'amour
que je vous porte, la foy aussy que je vous doy, en tant que je suis
vostre pasteur indigne, me semonnent et obligent de ce faire.—Par
dieu! monseigneur le curé, dist le bon homme, vous ne me dictes
chose que je ne cognoisse estre vraye; et tant que je puis vous
mercye; et ne pensez pas ce que je la tiens si longuement avecques
moy c'est malgré moy; car quand son bien viendra, par ma foy, je
me traveilleray pour elle comme je doy. Vous ne voulez pas que je
luy pourchasse ung mary, mais s'il en vient ung qui soit homme de
bien, je feray comme ung bon père doit faire.—Vous dictes trèsbien,
dit le curé, et par ma foy, vous ne povez mieulx faire que de vous en
despescher, car c'est grand chose de veoir ses enfans allyez en sa
plaine vie. Et que diriez vous d'un tel, le filz d'un tel vostre voisin?
par ma foy, il me semble bon homme, bon mesnagier, et ung grand
laboureur.—Saint Jehan, dit le bon homme, je n'en dy que tout bien;
quant à moy je le cognois pour ung bon jeune homme et bon
laboureur. Son père et sa mère et tous ses parens sont gens de bien;
et quand ilz feroient cest honneur à ma fille que de la requerre à
mariage pour luy, je leur en respondroye tellement qu'ilz devroient
estre contens par raison.—Ainsi m'aïst Dieu, dist le curé, l'on ne dist
jamais mieulx, et pleust à Dieu que la chose en fust ores bien faicte
ainsi comme je le desire; et pource que je sçay à la verité que ceste
allyance seroit le bien des parties, je m'y veil emploier; et sur ce
adieu vous dy.» Si ce maistre curé avoit bien fait son personnage au
père de sa dame, il ne le fist pas mains mal au père du jeune
homme qu'il avoit mis en bouche à son beau père qui sera s'il peut;
et luy va faire ung grand premisse, que son filz estoit en eage de
marier, et qu'il le deust pieça estre; et cent mille raisons luy amène
par lesquelles il dit et veult conclure que le monde est perdu si son
filz n'est tantost maryé. «Monseigneur le curé, dit ce segond bon
homme, je scay que vous dictes au plus près de verité; et en
conscience, si je fusse aussi bien à l'avantage que j'ay esté puis ne
sçay quants ans, il ne fust pas encores à marier; car c'est une des
choses en ce monde que plus je desire; mais faulte d'argent l'en a
retardé, et c'est force qu'il ait encores pacience jusques ad ce que
nostre seigneur nous envoye plus de bien que encores n'avons.—A
dya, dit le curé, je vous entens bien, il ne vous fault que de l'argent.
—Par ma foy non, dit il; si j'en eusse comme aultresfoiz ay eu, je luy
querroye tantost une femme.—J'ay regardé en moy, dit le curé,
pource que je vouldroye le bien et avancement de vostre filz, que la
fille d'un tel, c'est assavoir sa dame, seroit trop bien sa charge; elle
est belle et bonne, et a son père bien de quoy, et tant en sçay je il
luy veult trèsbien aider, et qui n'est pas pou de chose, c'est ung sage
homs, de bon conseil, et bon amy, et à qui vous et vostre filz ariez
ung grand recours et trèsbon secours. Quen dictes vous?—
Certainement, dit le bon homme, pleust à Dieu que mon filz fust si
eureux que d'avoir allyance en si bon hostel; et certes si je pensoye
en aucune fasson qu'il y peust parvenir, et je fusse fourny d'argent
aussi bien que je ne suis mye, je y emploiroye tous mes amis, car je
sçay tout de vray qu'il ne saroit en ceste marche mieulx trouver.—Je
n'ay pas donc, dit le curé, mal choisy. Et que diriez vous se je parloie
de ceste besoigne au père, et je la conduisoie tellement qu'elle
sortist à effect desiré, et je vous faisoie encores avecques ce le
plaisir que de vous prester jusques a vingt frans jusques à ung
terme que nous deviserons?—Par ma foy, dit le bon homme,
monseigneur le curé, vous m'offrez plus de biens que je ne vaulx ne
qu'en moy n'est du deservir. Mais s'ainsi le faisiez, vous m'obligeriez
à tousjours mès à vostre service.—Et vrayement, dit le curé, je ne
vous ay dit chose que je ne face; et faictes bonne chère, car j'espère
ceste besongne mener à fin.» Pour abreger, maistre curé, esperant
de joyr de sa dame quand elle seroit mariée, conduisit les besoignes
en tel estat, et par le moien des vingt francs qu'il presta, ce mariage
fut fait et passé et vint le jour des nopces. Or est il de coustume que
l'espousé et l'espousée se confessent à tel jour. Si vint l'espousé
premier, et se confessa à ce curé; et quand il eut fait, il se tire ung
petit arrière de luy, disant ses oroisons et paternostres. Et véez cy
l'espousée qui se mect à genoux devant le curé et se confesse.
Quand elle eut tout dit, il parla voire si hault que l'espousé, qui
n'estoit pas loing, l'entendit tout du long, et dist: «M'amye, je vous
prie qu'il vous souvienne maintenant, car il est heure, de la
promesse que me feistes n'a guères; vous me promistes que quand
vous seriez mariée que je vous chevaulcheroye; or l'estes vous, Dieu
mercy, par mon moien et pourchaz, et moyennant mon argent que
j'ay presté.—Monseigneur le curé, dit elle, je vous tiendray ce que je
vous ay promis, se Dieu plaist, n'en faictes nulle doubte.—Je vous en
mercie», dit il; puis luy bailla l'absolucion, après ceste devote
confession, et la laissa courre. Mais l'espousé, qui avoit oy ces
parolles, n'estoit pas bien à son aise. Toutesfoiz il n'estoit pas heure
de faire le courroucié. Après que toutes les solennitez de l'eglise
furent passées, et que tout fut retourné à l'ostel, et que l'heure de
coucher approuchoit, l'espousé vint à ung sien compaignon qu'il
amoit trèsbien, et luy pria qu'il luy feist garnison d'une grosse
poignée de verges, et qu'il la mist secrètement soubz le chevet de
son lit, et l'autre le fist. Quand il fut heure, l'espousée fut couchée,
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookname.com

You might also like