This post is about an example for obtaining a connection to MySQL database. For connecting to other database all you have to do is change the url to match to url format for a particular database and of course you have to register a correct JDBC driver of the database you are using.
Here are the steps:
- Define the JDBC url of your database. Below is the format of JDBC url for MySQL database.
localhost
is your database address andkodejava
is the database name.
private static final String URL = "jdbc:mysql://localhost/kodejava";
- Define the username and password for the connection.
private static final String USERNAME = "kodejava";
private static final String PASSWORD = "s3cr*t";
- Register the database JDBC driver to be used by our program. Below is the driver for MySQL database.
Class.forName("com.mysql.cj.jdbc.Driver");
The driver registration step above is not required anymore for modern JDBC drivers (JDBC 4.0 / since JDK 6). The JDBC driver class will be located using the service provider mechanism. So you can remove the Class.forName()
statement above and all you need to do is place the JDBC driver in your classpath, and the driver will be loaded automatically.
- We can open a connection to the database.
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
- Do any database operation such as select, insert, update and delete.
- Finally don’t forget to close the
Connection
object. We usually do this in the finally block of thetry-catch
block`
if (connection != null) {
connection.close();
}
But in the code snippet below instead of manually close the connection object we use the try-with-resource statement, this statement will automatically close the connection for us.
Here is the complete code snippet.
package org.kodejava.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class ConnectionSample {
private static final String URL = "jdbc:mysql://localhost/kodejava";
private static final String USERNAME = "kodejava";
private static final String PASSWORD = "s3cr*t";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
System.out.println("connection = " + connection);
String sql = "SELECT isbn, title, published_year FROM book";
PreparedStatement stmt = connection.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("isbn") + ", " +
rs.getString("title") + ", " +
rs.getInt("published_year"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Maven Dependencies
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.4.0</version>
</dependency>
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024