JAVA 7
7 multi-thread application && Product (Pid, Pname, Price) table.
Q1]
import java.util.Random;
public class NumberProcessor {
public static void main(String[] args) {
RandomNumberGenerator randomNumberGenerator = new RandomNumberGenerator();
NumberSquareCalculator numberSquareCalculator = new NumberSquareCalculator();
NumberCubeCalculator numberCubeCalculator = new NumberCubeCalculator();
randomNumberGenerator.start();
numberSquareCalculator.start();
numberCubeCalculator.start();
}
}
class RandomNumberGenerator extends Thread {
public void run() {
Random random = new Random();
try {
while (true) {
int number = random.nextInt(100);
System.out.println("Generated number: " + number);
if (number % 2 == 0) {
NumberSquareCalculator.queue.add(number);
} else {
NumberCubeCalculator.queue.add(number);
}
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class NumberSquareCalculator extends Thread {
public static BlockingQueue<Integer> queue = new LinkedBlockingQueue<>();
public void run() {
try {
while (true) {
int number = queue.take();
int square = number * number;
System.out.println("Square of " + number + " is: " + square);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class NumberCubeCalculator extends Thread {
public static BlockingQueue<Integer> queue = new LinkedBlockingQueue<>();
public void run() {
try {
while (true) {
int number = queue.take();
int cube = number * number * number;
System.out.println("Cube of " + number + " is: " + cube);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Q2]
import java.sql.*;
public class ProductManagement {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/your_database_name";
static final String USER = "your_username";
static final String PASS = "your_password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName(JDBC_DRIVER);
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Creating statement...");
stmt = conn.createStatement();
System.out.println("Creating Product table...");
String createTableSQL = "CREATE TABLE Product ("
+ "Pid INT AUTO_INCREMENT PRIMARY KEY,"
+ "Pname VARCHAR(255),"
+ "Price DECIMAL(10, 2)"
+ ")";
stmt.executeUpdate(createTableSQL);
System.out.println("Product table created successfully");
System.out.println("Inserting records into Product table...");
String insertSQL = "INSERT INTO Product (Pname, Price) VALUES (?, ?)";
PreparedStatement preparedStatement = conn.prepareStatement(insertSQL);
preparedStatement.setString(1, "Product 1");
preparedStatement.setDouble(2, 10.99);
preparedStatement.executeUpdate();
preparedStatement.setString(1, "Product 2");
preparedStatement.setDouble(2, 20.99);
preparedStatement.executeUpdate();
preparedStatement.setString(1, "Product 3");
preparedStatement.setDouble(2, 30.99);
preparedStatement.executeUpdate();
preparedStatement.setString(1, "Product 4");
preparedStatement.setDouble(2, 40.99);
preparedStatement.executeUpdate();
preparedStatement.setString(1, "Product 5");
preparedStatement.setDouble(2, 50.99);
preparedStatement.executeUpdate();
System.out.println("Records inserted successfully");
System.out.println("Displaying all records from Product table...");
String selectSQL = "SELECT * FROM Product";
ResultSet rs = stmt.executeQuery(selectSQL);
while (rs.next()) {
int Pid = rs.getInt("Pid");
String Pname = rs.getString("Pname");
double Price = rs.getDouble("Price");
System.out.println("Pid: " + Pid + ", Pname: " + Pname + ", Price: " + Price);
}
rs.close();
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
}
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}