- Records 1 4 1 – Innovative Personal Database Template
- Records 1 4 1 – Innovative Personal Database Management System
Fabfilter pro bundle. Supporting the Development of Records and Information Management Professionals The Records Management Training Program provides five services that support records management training performed by Federal agencies. Training Materials Catalog Our Training Materials Catalog contains most of the training materials that we develop, including all of the new online lessons that are part of the new. Michigan Public Records. The Michigan State Records website provides every Michigan resident with tools to access public records. This ensures Michigan residents are able to use their right to access and obtain public records in accordance with the Michigan Freedom of Information Act, which presumes all government information and records are available to the public. The number of records exposed by data breaches reaches 4.1 billion in first half of 2019. According to Risk Based Security research newly published in the 2019 MidYear QuickView Data Breach. Functioning very much like a centralized, national database, the e-Health Record actually retrieves data as necessary from various providers, who may be using different systems, and presents it in a standard format via the e-Patient portal. A powerful tool for doctors that allows them to access a patient's records easily from a single.
The Electronic Health Record (e-Health Record) is a nationwide system integrating data from Estonia's different healthcare providers to create a common record every patient can access online.
Functioning very much like a centralized, national database, the e-Health Record actually retrieves data as necessary from various providers, who may be using different systems, and presents it in a standard format via the e-Patient portal. A powerful tool for doctors that allows them to access a patient's records easily from a single electronic file, doctors can read test results as they are entered, including image files such as X-rays even from remote hospitals.
For assuring the integrity of retrieved electronic medical records as well as system access logs, the KSI blockchain technology is being used.
For example, in an emergency situation, a doctor can use a patient's ID code to read time-critical information, such as blood type, allergies, recent treatments, on-going medication or pregnancy. The system also compiles data for national statistics, so the ministry can measure health trends, track epidemics, and make sure that its health resources are being spent wisely.
Patients have access to their own records, as well as those of their underaged children and people who have given them authorization for access. By logging into the e-Patient portal with an electronic ID-card, the patient can review doctor visits and current prescriptions, and check which doctors have had access to their files.
Visit the Estonian e-Health Records here.
- Details
- Written by Nam Ha Minh
- Last Updated on 02 September 2019 | Print Email
1. Prerequisites
To begin, make sure you have the following pieces of software installed on your computer:- JDK (download JDK 7).
- MySQL (download MySQL Community Server 5.6.12). You may also want to download MySQL Workbench - a graphical tool for working with MySQL databases.
- JDBC Driver for MySQL (download MySQL Connector/J 5.1.25). Extract the zip archive and put the mysql-connector-java-VERSION-bin.jar file into classpath (in a same folder as your Java source files).
2. Creating a sample MySQL database
Let's create a MySQL database called SampleDB with one tablesource PathToTheScriptFileSQLScript.sql
Here's an example screenshot taken while executing the above script in MySQL Command Line Client program:
3. Understand the main JDBC interfaces and classes
Let's take an overview look at the JDBC's main interfaces and classes with which we usually work. They are all available under the java.sql package:- DriverManager: this class is used to register driver for a specific database type (e.g. MySQL in this tutorial) and to establish a database connection with the server via its getConnection() method.
- Connection: this interface represents an established database connection (session) from which we can create statements to execute queries and retrieve results, get metadata about the database, close connection, etc.
- Statement and PreparedStatement: these interfaces are used to execute static SQL query and parameterized SQL query, respectively. Statement is the super interface of the PreparedStatement interface. Their commonly used methods are:
- boolean execute(String sql): executes a general SQL statement. It returns true if the query returns a ResultSet, false if the query returns an update count or returns nothing. This method can be used with a Statement only.
- int executeUpdate(String sql): executes an INSERT, UPDATE or DELETE statement and returns an update account indicating number of rows affected (e.g. 1 row inserted, or 2 rows updated, or 0 rows affected).
- ResultSet executeQuery(String sql): executes a SELECT statement and returns a ResultSet object which contains results returned by the query.
A prepared statement is one that contains placeholders (in form question marks ?) for dynamic values will be set at runtime. For example:
SELECT * from Users WHERE user_id=?
Here the value of user_id is parameterized by a question mark and will be set by one of the setXXX() methods from the PreparedStatement interface, e.g. setInt(int index, int value).
- ResultSet: contains table data returned by a SELECT query. Use this object to iterate over rows in the result set using next() method, and get value of a column in the current row using getXXX() methods (e.g. getString(), getInt(), getFloat() and so on). The column value can be retrieved either by index number (1-based) or by column name.
- SQLException: this checked exception is declared to be thrown by all the above methods, so we have to catch this exception explicitly when calling the above classes' methods.
4. Connecting to the database
Supposing the MySQL database server is listening on the default port 3306 at localhost. The following code snippet connects to the database name SampleDB by the user root and password secret:Once the connection was established, we have a Connection object which can be used to create statements in order to execute SQL queries. In the above code, we have to close the connection explicitly after finish working with the database:However, since Java 7, we can take advantage of the try-with-resources statement which will close the connection automatically, as shown in the following code snippet:If you are using Java 7 or later, this approach is recommended. The sample programs in this tutorial are all using this try-with-resources statement to make a database connection.NOTE: For details about connecting to a MySQL database, see the article: Connect to MySQL database via JDBC.5. JDBC Execute INSERT Statement Example
Let's write code to insert a new record into the table Users with following details:- username: bill
- password: secretpass
- fullname: Bill Gates
- email: bill.gates@microsoft.com
Records 1 4 1 – Innovative Personal Database Template
setXXX() methods corresponding to each data type, for example:- setBoolean(int parameterIndex, boolean x)
- setDate(int parameterIndex, Date x)
- setFloat(int parameterIndex, float x)
- …
6. JDBC Execute SELECT Statement Example
The following code snippet queries all records from the Users table and print out details for each record:Output:User #1: bill - secretpass - Bill Gates - bill.gates@microsoft.com
Because the SQL SELECT query here is static so we just create a Statement object from the connection. The while loop iterates over the rows contained in the result set by repeatedly checking return value of the ResultSet's next() method. The next() method moves a cursor forward in the result set to check if there is any remaining record. For each iteration, the result set contains data for the current row, and we use the ResultSet's getXXX(column index/column name) method to retrieve value of a specific column in the current row, for example this statement:Retrieves value of the second column in the current row, which is the username field. The value is casted to a String because we know that theRecords 1 4 1 – Innovative Personal Database Management System
username field is of type VARCHAR based on the database schema mentioned previously. Keep in mind that the column index here is 1-based, the first column will be at index 1, the second at index 2, and so on. If you are not sure or don't know exactly the index of column, so passing a column name would be useful:For other data types, the ResultSet provide appropriate getter methods:- getString()
- getInt()
- getFloat()
- getDate()
- getTimestamp()
- …
7. JDBC Executing UPDATE Statement Example
The following code snippet will update the record of 'Bill Gates' as we inserted previously:This code looks very similar to the INSERT code above, except the query type is UPDATE.
8. JDBC Execute DELETE Statement Example
The following code snippet will delete a record whose username field contains 'bill':So far we have one through some examples demonstrating how to use JDBC API to execute SQL INSERT, SELECT, UPDATE and DELETE statements. The key points to remember are:- Using a Statement for a static SQL query.
- Using a PreparedStatement for a parameterized SQL query and using setXXX() methods to set values for the parameters.
- Using execute() method to execute general query.
- Using executeUpdate() method to execute INSERT, UPDATE or DELETE query
- Using executeQuery() method to execute SELECT query.
- Using a ResultSet to iterate over rows returned from a SELECT query, using its next() method to advance to next row in the result set, and using getXXX() methods to retrieve values of columns.
JDBC API References:
Related JDBC Tutorials:
About the Author:
Nam Ha Minh is certified Java programmer (SCJP and SCWCD). He started programming with Java in the time of Java 1.4 and has been falling in love with Java since then. Make friend with him on Facebook and watch his Java videos you YouTube.[Demo program for DELETE statement] | 0.9 kB |
[Demo program for INSERT statement] | 1 kB |
[Demo program for SELECT statement] | 1 kB |
[Demo program for UPDATE statement] | 1 kB |
[MySQL script to create database and table] | 0.2 kB |