Ooaddddddddd
Ooaddddddddd
import java.sql.*;
import java.util.Scanner;
try {
// Establish database connection
connection =
DriverManager.getConnection("jdbc:mysql://localhost:3306/phonebook", "root", "");
System.out.println("Connected to database successfully!");
} catch (SQLException ex) {
System.err.println("Error connecting to the database: " +
ex.getMessage());
return;
}
while (true) {
System.out.println("Welcome to Contact Management System");
System.out.println("1. User Registration");
System.out.println("2. Admin Registration");
System.out.println("3. Login");
System.out.println("4. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1 -> userService.registerUser(connection);
case 2 -> adminService.registerAdmin(connection);
case 3 -> {
if (login(connection, userService, adminService,
contactService)) {
return;
}
}
case 4 -> {
System.out.println("Exiting system...");
return;
}
default -> System.out.println("Invalid choice!");
}
}
}
switch (choice) {
case 1 -> contactService.addContact(connection, username);
case 2 -> contactService.deleteContact(connection, username);
case 3 -> contactService.searchContact(connection, username);
case 4 -> contactService.editContact(connection, username);
case 5 -> {
System.out.println("Logged out successfully!");
return;
}
default -> System.out.println("Invalid choice!");
}
}
}
switch (choice) {
case 1 -> contactService.retrieveContacts(connection);
case 2 -> {
System.out.println("Logged out successfully!");
return;
}
default -> System.out.println("Invalid choice!");
}
}
}
}
class UserService {
public void registerUser(Connection connection) {
Scanner scanner = new Scanner(System.in);
try {
System.out.println("User Registration");
System.out.print("Enter username: ");
String username = scanner.nextLine();
System.out.print("Enter password: ");
String password = scanner.nextLine();
if (!username.isEmpty() && !password.isEmpty()) {
PreparedStatement insertStatement =
connection.prepareStatement("INSERT INTO user (username, password) VALUES (?, ?)");
insertStatement.setString(1, username);
insertStatement.setString(2, password);
insertStatement.executeUpdate();
System.out.println("Registration successful!");
} else {
System.out.println("Error: Both username and password are required
for registration.");
}
} catch (SQLException e) {
System.err.println("Error registering user: " + e.getMessage());
}
}
class AdminService {
public void registerAdmin(Connection connection) {
Scanner scanner = new Scanner(System.in);
try {
System.out.println("Admin Registration");
System.out.print("Enter username: ");
String username = scanner.nextLine();
System.out.print("Enter password: ");
String password = scanner.nextLine();
if (!username.isEmpty() && !password.isEmpty()) {
PreparedStatement insertStatement =
connection.prepareStatement("INSERT INTO admin (username, password) VALUES
(?, ?)");
insertStatement.setString(1, username);
insertStatement.setString(2, password);
insertStatement.executeUpdate();
System.out.println("Registration successful!");
} else {
System.out.println("Error: Both username and password are required
for registration.");
}
} catch (SQLException e) {
System.err.println("Error registering admin: " + e.getMessage());
}
}
class ContactService {
public void addContact(Connection connection, String username) {
Scanner scanner = new Scanner(System.in);
try {
System.out.println("Add Contact");
System.out.print("Enter contact name: ");
String name = scanner.nextLine();
System.out.print("Enter contact dob: ");
String dob = scanner.nextLine();
System.out.print("Enter contact city: ");
String city = scanner.nextLine();