SQL Database access from Java

In its wider sense, a database is a piece of software or library designed to store and manipulate data. But usually– and this is the sense here– we refer specifically to software such as MySQL, Microsoft SQL Server, Oracle etc. These systems, sometimes called SQL Databases, organise data into tables of records or "rows" containing common fields or "columns", and allow commands and queries to be run in a language called SQL or Structured Query Language. SQL queries are run against the database by connecting to it over a network socket. Therefore, the database can be installed on a different machine to the one issuing the queries (though it can also be installed on the same machine).

Java provides a framework called the Java Database Connection or JDBC framework. JDBC provides a number of classes for encapsulating common objects and functions of managing a database: SQL queries, rows from the table, metadata such as the list of tables in the database, or the names and types of fields on a particular table. JDBC also provides a framework for database drivers: the component that communicates with the database in its native format (i.e. knows what actual bytes to send and receive over the socket in order to handle a particular query). Before using JDBC, you generally need to obtain the driver for the specific database you are using (MySQL, SQL Server, Oracle etc). The driver is generally provided in the form of a jar which must be included in the classpath when you run your program (and/or added to your project if using an IDE).

If you are running a servlet on a standard shared hosting plan that also provides database access, then it is quite likely that your hosting provider will already have provided the appropriate JDBC driver ready installed. (And if you are choosing a hosting company for the first time, you may want to consider one that provides JDBC data access ready set up and has clear documentation on how to use it.)

The following steps and topics are generally involved in connecting to a SQL database using JDBC in Java: