Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.Date;
- public class HomeworkDbThread extends Thread {
- private ArrayList<HomeworkClass> dataSet = new ArrayList<>();
- private Statement stmt;
- private ThreadCallback callback;
- public HomeworkDbThread(Statement statement, ThreadCallback callback) {
- this.stmt = statement;
- this.callback = callback;
- }
- @Override
- public void run() {
- try {
- String sql = "SELECT id, name, lesson, grade, time FROM class";
- ResultSet rs = stmt.executeQuery(sql);
- while (rs.next()) {
- //getting values
- int id = rs.getInt("id");
- String name = rs.getString("name");
- String lesson = rs.getString("lesson");
- int grade = rs.getInt("grade");
- Date time = rs.getDate("time");
- dataSet.add(new HomeworkClass(
- id,
- name,
- lesson,
- grade,
- time
- ));
- }
- if (callback != null)
- callback.onDataFetched(dataSet);
- } catch (SQLException e) {
- if (callback != null)
- callback.onError(e);
- } finally {
- if (callback != null)
- callback.onEnd();
- }
- }
- }
- import java.util.Date;
- public class HomeworkClass {
- private Integer id;
- private String name;
- private String lesson;
- private Integer grade;
- private Date date;
- public HomeworkClass() {
- }
- public HomeworkClass(Integer id, String name, String lesson, Integer grade, Date date) {
- this.id = id;
- this.name = name;
- this.lesson = lesson;
- this.grade = grade;
- this.date = date;
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getLesson() {
- return lesson;
- }
- public void setLesson(String lesson) {
- this.lesson = lesson;
- }
- public Integer getGrade() {
- return grade;
- }
- public void setGrade(Integer grade) {
- this.grade = grade;
- }
- public Date getDate() {
- return date;
- }
- public void setDate(Date date) {
- this.date = date;
- }
- @Override
- public String toString() {
- return "HomeworkClass{" +
- "id=" + id +
- ", name='" + name + '\'' +
- ", lesson='" + lesson + '\'' +
- ", grade=" + grade +
- ", date=" + date +
- '}';
- }
- }
- import java.lang.Class;
- import java.sql.*;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.Scanner;
- public class Homework {
- static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
- static final String DB_URL = "jdbc:mysql://localhost:3306/students";
- static final String USER = "root";
- static final String PASS = "";
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- Connection conn = null;
- Statement stmt = null;
- String sql;
- //showing information for input
- info();
- int response = in.nextInt();
- try {
- Class.forName(JDBC_DRIVER);
- System.out.println("Connecting to database...");
- conn = DriverManager.getConnection(DB_URL, USER, PASS);
- stmt = conn.createStatement();
- switch (response) {
- case 1: // list all students info
- Connection finalConn = conn;
- Statement finalStmt = stmt;
- ThreadCallback callback = new ThreadCallback() {
- @Override
- public void onDataFetched(ArrayList<HomeworkClass> dataSet) {
- for (HomeworkClass homeworkClass : dataSet) {
- System.out.println(homeworkClass.toString());
- }
- }
- @Override
- public void onError(SQLException ex) {
- ex.printStackTrace();
- }
- @Override
- public void onEnd() {
- //disconnect from database
- disconncetDb(finalConn, finalStmt);
- }
- };
- HomeworkDbThread dbThread = new HomeworkDbThread(stmt, callback);
- dbThread.start();
- break;
- case 2: // Insert new info
- ArrayList<HomeworkClass> dataSetForInsert = new ArrayList<>();
- HomeworkClass homeworkClass = new HomeworkClass();
- homeworkClass.setName("");
- System.out.println("Please Enter student's name: ");
- String newName = in.next();
- System.out.println("Lesson's name: ");
- String newLesson = in.next();
- System.out.println("Student's grade: ");
- int newGrade = in.nextInt();
- sql = "INSERT INTO class(name, lesson, grade) VALUES('" + newName + "','" + newLesson + "'," + newGrade + ")";
- stmt.execute(sql);
- System.out.println("new information added successfully!");
- disconncetDb(conn, stmt);
- break;
- case 3: // Delete info
- System.out.println("Please enter the Student's ID which you want to DELETE: ");
- int studentId = in.nextInt();
- sql = "DELETE FROM class WHERE id=" + studentId;
- stmt.execute(sql);
- disconncetDb(conn, stmt);
- break;
- case 4: // update info
- System.out.println("What do you want to update? (name, lesson or grade");
- String answer = in.next();
- switch (answer) {
- case "name":
- System.out.println("Please enter Student's ID which you want to update: ");
- int updateID = in.nextInt();
- System.out.println("Enter the name: ");
- String updateName = in.next();
- sql = "UPDATE class SET name='" + updateName + "' WHERE id=" + updateID;
- stmt.execute(sql);
- System.out.println("Student's name updated by ID of " + updateID);
- break;
- case "lesson":
- System.out.println("Please enter Student's ID which you want to update: ");
- updateID = in.nextInt();
- System.out.println("Enter the name: ");
- String updateLesson = in.next();
- sql = "UPDATE class SET lesson='" + updateLesson + "' WHERE id=" + updateID;
- stmt.execute(sql);
- System.out.println("Student's lesson updated by ID of " + updateID);
- break;
- case "grade":
- System.out.println("Please enter Student's ID which you want to update: ");
- updateID = in.nextInt();
- System.out.println("Enter the name: ");
- int updateGrade = in.nextInt();
- sql = "UPDATE class SET grade=" + updateGrade + " WHERE id=" + updateID;
- stmt.execute(sql);
- System.out.println("Student's grade updated by ID of " + updateID);
- break;
- default:
- System.out.println("Incorrect input, you can choose only between name, lesson or grade.");
- break;
- }
- disconncetDb(conn, stmt);
- break;
- default: // exit mode
- System.out.println("OK");
- break;
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static void info() {
- System.out.println(
- "Enter:" +
- "\n 1: To list all students info" +
- "\n 2: To add new student info" +
- "\n 3: To delete student info" +
- "\n 4: To update student info" +
- "\n 5: EXIT"
- );
- System.out.println("Your input is: ");
- }
- public static void disconncetDb(Connection conn, Statement stmt) {
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- System.out.println("Disconnected from database.");
- }
- }
- import java.sql.SQLException;
- import java.util.ArrayList;
- public interface ThreadCallback {
- void onDataFetched(ArrayList<HomeworkClass> dataSet);
- void onEnd();
- void onError(SQLException ex);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement