This
hands-on introduction to database programming using Java is ideal for people
with little or no programming experience. The goal of this concise book is not
just to teach you Java, but to help you think like a programmer. Each brief
chapter covers the material for one week of a college course to help you
practice what you've learned. As you would expect, this book shows how to build
from scratch two different databases: MySQL and SQLite using Java. In designing
a GUI and as an IDE, you will make use of the NetBeans tool.
In
the first chapter, you will learn: How to install NetBeans, JDK 11, and MySQL
Connector/J; How to integrate external libraries into projects; How the basic
MySQL commands are used; How to query statements to create databases, create
tables, fill tables, and manipulate table contents is done.
In
the second chapter, you will study: Creating the initial three table projects
in the school database: Teacher table, TClass table, and Subject table;
Creating database configuration files; Creating a Java GUI for viewing and
navigating the contents of each table; Creating a Java GUI for inserting and
editing tables; and Creating a Java GUI to join and query the three tables.
In
the third chapter, you will learn: Creating the main form to connect all forms;
Creating a project will add three more tables to the school database: the
Student table, the Parent table, and Tuition table; Creating a Java GUI to view
and navigate the contents of each table; Creating a Java GUI for editing,
inserting, and deleting records in each table; Creating a Java GUI to join and
query the three tables and all six.
In
chapter four, you will study how to query the six tables.
In
chapter five, you will be shown how to create SQLite database and tables with
Java. In chapter six, you will be taught how to extract image features,
utilizing BufferedImage class, in Java GUI. Digital image techniques to extract
image features used in this chapted are grascaling, sharpening, invertering, blurring,
dilation, erosion, closing, opening, vertical prewitt, horizontal prewitt,
Laplacian, horizontal sobel, and vertical sobel. For readers, you can develop
it to store other advanced image features based on descriptors such as SIFT and
others for developing descriptor based matching.
In
chapter seven, you will be taught to create Java GUI to view, edit, insert, and
delete Suspect table data. This table has eleven columns: suspect_id (primary
key), suspect_name, birth_date, case_date, report_date, suspect_ status,
arrest_date, mother_name, address, telephone, and photo.
In
chapter eight, you will be taught to create Java GUI to view, edit, insert, and
delete Feature_Extraction table data. This table has eight columns: feature_id
(primary key), suspect_id (foreign key), feature1, feature2, feature3,
feature4, feature5, and feature6. All six fields (except keys) will have a BLOB
data type, so that the image of the feature will be directly saved into this
table.
In
chapter nine, you will add two tables: Police_Station and Investigator. These
two tables will later be joined to Suspect table through another table,
File_Case, which will be built in the seventh chapter. The Police_Station has
six columns: police_station_id (primary key), location, city, province,
telephone, and photo. The Investigator has eight columns: investigator_id
(primary key), investigator_name, rank, birth_date, gender, address, telephone,
and photo. Here, you will design a Java GUI to display, edit, fill, and delete
data in both tables.
In
chapter ten, you will add two tables: Victim and Case_File. The File_Case table
will connect four other tables: Suspect, Police_Station, Investigator and
Victim. The Victim table has nine columns: victim_id (primary key),
victim_name, crime_type, birth_date, crime_date, gender, address, telephone,
and photo. The Case_File has seven columns: case_file_id (primary key),
suspect_id (foreign key), police_station_id (foreign key), investigator_id
(foreign key), victim_id (foreign key), status, and description. Here, you will
also design a Java GUI to display, edit, fill, and delete data in both tables.
Finally,
this book is hopefully useful and can improve database programming skills for
every Java/MySQL/SQLite pogrammer.