Today's post, we are going to see how to make an application that interacts with a database. We will learn how to CREATE, READ, UPDATE, and DELETE rows on MySQL the database application we are going to use.
- CREATE operation creates a new row to the specified table. This operation is being used to register a new account to a website.
- READ operation returns rows from the specified table. This is mostly used to retrieve information searched by the user.
- UPDATE operation updates certain numbers of row to the table. Programmers use this operation to edit an information. Example usage is updating the member's last name and age.
- DELETE operation deletes a row from a table. Usage included account deactivation.
For our future tutorials, we will be creating a database with tables we're going to feed it with a dummy information. But for now, we will see a very basic structure of a database table:
Table Name: members
| ID | first_name | last_name | age |
-----------------------------------------
| 1 | John | Collin | 24 |
-----------------------------------------
| 2 | Peter | Guy | 24 |
-----------------------------------------
| 3 | Brook | Hill | 13 |
-----------------------------------------
| 4 | James | Duff | 12 |
-----------------------------------------
How to search using SELECT SQL operation: Prints all members that has an age of 24.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Searcher{
public static void search(int age){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection connect = DriverManager.getConnection(CONNECTION);
Statement statement = connect.prepareStatement("SELECT * from members where age=?");
statement.setInt(1, age);
ResultSet resultSet = statement.executeQuery();
while(resultSet.next()){
System.out.println("Name: " + resultSet.getString("name");
}
connect.close();
statement.close();
resultSet.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
System.out.println("Members with age 24");
Searcher.search(24); //we want to print all members with age 24.
}
}
How to create row using CREATE SQL operation: Adds member to a members table.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Adder{
public void addMember(String first_name, String last_name, int age){
try{
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection(CONNECTION);
statement = connect.prepareStatement("INSERT INTO members (first_name, last_name, age) VALUES (?,?,?)");
statement.setString(1, first_name);
statement.setString(2, last_name);
statement.setInt(3, age);
statement.executeUpdate();
connect.close();
statement.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
Adder.addMember("Jonas", "Robinso", 25);
System.out.println("A member has been added!");
}
}
How to update row using UPDATE SQL operation: Edits member to a members table.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Updater{
public void update(String first_name){
try{
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection(CONNECTION);
statement = connect.prepareStatement("UPDATE members SET age=" + 25 + " WHERE first_nam='" + first_name + "'");
statement.executeUpdate();
connect.close();
statement.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
Updater.update("Brook");
}
}
How to delete a row using DELETE SQL operation: Deletes a member from a table.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Deleter{
public void delete(String first_name){
try{
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection(CONNECTION);
statement = connect.prepareStatement("DELETE from members where first_name='" + first_name + "'");
statement.executeUpdate();
connect.close();
statement.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
Deleter.delete("Brook");
}
}
It is strongly recommended to run these classes on your favorite Java IDE like and play around until you get the hang of it and make a cool ideas for your next Java application :)