Advanced Java
June 2, 2026 2 min read

Learn java and jdbc implementation

Hs
Hemant singh
Technical Writer & Educator
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import java.util.Scanner;

public class DatabaseConnection {

  

    // MySQL Database credentials
    private static final String URL = "jdbc:mysql://localhost:3306/jv"; // Replace with your DB name
    private static final String USER = "root"; // Default user in XAMPP
    private static final String PASSWORD = ""; // Default password is empty in XAMPP

    DatabaseConnection(){
        String query ="CREATE TABLE IF NOT EXISTS users(id INT(10) AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,email VARCHAR(255) NOT NULL,password VARCHAR(255) NOT NULL)";

        try {
            Connection conn = this.getConnection();
            PreparedStatement ps = conn.prepareStatement(query);
            ps.executeUpdate();
            ps.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }


    public Connection getConnection() {
        try {
            // Load MySQL JDBC driver
            Class.forName("com.mysql.cj.jdbc.Driver");

            // Establish connection
            Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
            System.out.println("Connected to the database successfully!");
            return conn;
        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
          DatabaseConnection obj = new DatabaseConnection();
          Scanner s = new Scanner(System.in);
          for(int i=1; i>0; i++){
            int ch;
            System.err.println("Select- 1:Display, 2:Insert, 0:Exit.");
            ch = s.nextInt();
            if(ch == 1){
                obj.display();;
            }
            else if(ch == 2){
                obj.insert();
            }
            else if(ch==0){
                break;
            }
            else{
                System.err.println("Invalid choice:");
            }
          }
          
        
    }

    public void insert(){
        Scanner s = new Scanner(System.in);
        String name, email, password;
        System.err.println("Enter username:");
        name=s.next();
        System.err.println("Enter email id:");
        email=s.next();
        System.err.println("Enater password:");
        password=s.next();

        String query="INSERT INTO users(name, email, password) VALUES(?, ?, ?)";
        try {
            Connection conn = this.getConnection();
            PreparedStatement ps = conn.prepareStatement(query);
            ps.setString(1, name);
            ps.setString(2, email);
            ps.setString(3, password);
            ps.executeUpdate();
            System.err.println("New record inserted");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void display(){
        String query="SELECT * FROM users ORDER BY id DESC";
        try {
            Connection conn= this.getConnection();
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            while(rs.next()){
                System.out.println("Name: "+rs.getString("name")+" | Email id:"+rs.getString("email")+" | Password:"+rs.getString("password"));
            }
            conn.close();

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public void delete(int id){

    }
    public void update(int id){

    }
}
javac -cp ".;mysql-connector-j-9.1.0/mysql-connector-j-9.1.0.jar" DatabaseConnection.java
java -cp ".:mysql-connector-j-9.1.0/mysql-connector-j-9.1.0.jar" DatabaseConnection