JAVA-LAB-4
JAVA-LAB-4
Part 1: Database
1. Create a database and name it ‘db_test’. Open the database and create table ‘User’ with column
‘id’,’name’,’age’, ‘phone_number’, ‘address. ‘Id’ and ‘age’ should be of integer data-type and
other of varchar.
// GUI Components
private JTextField nameField, ageField, phoneField, addressField;
private JButton submitButton;
public InsertDataGUI() {
// Set up the JFrame
setTitle("Insert User Data");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(5, 2, 10, 10));
add(new JLabel("Age:"));
ageField = new JTextField();
add(ageField);
add(new JLabel("Address:"));
addressField = new JTextField();
add(addressField);
// Add Submit button
submitButton = new JButton("Submit");
add(submitButton);
String insertSQL = "INSERT INTO [User] (name, age, phone_number, address) VALUES (?, ?, ?, ?)";
// Set parameters
preparedStatement.setString(1, name);
preparedStatement.setInt(2, age);
preparedStatement.setString(3, phone);
preparedStatement.setString(4, address);
Part 2:
1. Create a class named “DatabaseCRUD.java” (not compulsory). Write two methods named
“insertIntoDatabase” and “getFromDatabase” to insert into database and fetch from database.
Set connection strings as below: String dbURL = "jdbc:mysql://localhost:3306/test_db"; String
username = "root"; String password = "YOURPASSWORD";
import java.sql.*;
import java.util.Scanner;
public DatabaseCRUD() {
this.scanner = new Scanner(System.in);
}
String sql = "INSERT INTO [User] (name, age, phone_number, address) VALUES (?, ?, ?, ?)";
try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setString(1, name);
preparedStatement.setInt(2, age);
preparedStatement.setString(3, phoneNumber);
preparedStatement.setString(4, address);
if (!name.isEmpty()) {
sql.append("name = ?");
needsComma = true;
}
if (!ageStr.isEmpty()) {
if (needsComma) sql.append(", ");
sql.append("age = ?");
needsComma = true;
}
if (!phoneNumber.isEmpty()) {
if (needsComma) sql.append(", ");
sql.append("phone_number = ?");
needsComma = true;
}
if (!address.isEmpty()) {
if (needsComma) sql.append(", ");
sql.append("address = ?");
}
sql.append(" WHERE id = ?");
while (resultSet.next()) {
hasData = true;
System.out.println("\nID: " + resultSet.getInt("id"));
System.out.println("Name: " + resultSet.getString("name"));
System.out.println("Age: " + resultSet.getInt("age"));
System.out.println("Phone: " + resultSet.getString("phone_number"));
System.out.println("Address: " + resultSet.getString("address"));
System.out.println("-----------------------------");
}
if (!hasData) {
System.out.println("No records found in the database.");
}
} catch (SQLException e) {
System.err.println("Error retrieving data: " + e.getMessage());
}
}
switch (choice) {
case 1:
insertIntoDatabase();
break;
case 2:
getFromDatabase();
break;
case 3:
updateUser();
break;
case 4:
deleteUser();
break;
case 5:
System.out.println("Exiting program. Goodbye!");
scanner.close();
return;
default:
System.out.println("Invalid option. Please choose 1-5.");
}
} catch (NumberFormatException e) {
System.out.println("Please enter a valid number.");
}
}
}
// Establish connection
try (Connection conn = DriverManager.getConnection(DB_URL)) {
System.out.println("Database connected successfully!");
// 1. Insert Record
String insertSQL = "INSERT INTO Student (s_id, name, address, gender, program) VALUES
(?, ?, ?, ?, ?)";
try (PreparedStatement pstmt = conn.prepareStatement(insertSQL)) {
pstmt.setInt(1, 1);
pstmt.setString(2, "Sam");
pstmt.setString(3, "Kathmandu");
pstmt.setString(4, "male");
pstmt.setString(5, "CSIT");
pstmt.executeUpdate();
System.out.println("\nRecord inserted successfully!");
}
// 2. Update Record
String updateSQL = "UPDATE Student SET program = ? WHERE s_id = ?";
try (PreparedStatement pstmt = conn.prepareStatement(updateSQL)) {
pstmt.setString(1, "BBA");
pstmt.setInt(2, 1);
pstmt.executeUpdate();
System.out.println("\nRecord updated successfully!");
}
// 3. Delete Record
String deleteSQL = "DELETE FROM Student WHERE s_id = ?";
try (PreparedStatement pstmt = conn.prepareStatement(deleteSQL)) {
pstmt.setInt(1, 1);
pstmt.executeUpdate();
System.out.println("\nRecord deleted successfully!");
}
while (rs.next()) {
System.out.printf("ID: %d, Name: %s, Address: %s, Gender: %s, Program: %s%n",
rs.getInt("s_id"),
rs.getString("name"),
rs.getString("address"),
rs.getString("gender"),
rs.getString("program")
);
}
System.out.println("------------------------");
}
}
}