База данных в графическом интерфейсе

114
25 августа 2019, 09:30

Я создал программу на java с интерфейсом школьный журнал. И там в меню есть кнопка которая выводит всех студентов которые хранятся у меня в базе данных SQL. Как вывести имя и фамилию всех студентов в графическом интерфейсе. Снизу добавил запрос SQL

Вот мой код который выводит информацию из базы данных в JAVA.

package school;

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 javax.swing.JTable;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SQLtest {
    private static final String URL = "jdbc:mysql://localhost:3306/school_db?useTimezone=true&serverTimezone=GMT";
    private static final String USER = "root";
    private static final String PASSWORD = "root";
    private static final String GET_ALL_STUDENTS_QUERY = "SELECT pupil.id, pupil.name, pupil.surname from pupil";
    private static final String GET_ALL_MARKS_QUERY = "SELECT pupil.name, pupil.surname, mark_value.values\n"
            + "    FROM pupil, mark_value, mark\n"
            + "    WHERE pupil.id = mark.pupil_id AND mark.mark_id = mark_value.id ";
    public static void main(String args[]) {
        SQLtest sqltest = new SQLtest();
        sqltest.printAllStudents(); 
        sqltest.printAllMarks(); 
    }
    private void printAllStudents() {
        try (Connection con = DriverManager.getConnection(URL, USER, PASSWORD)) {
            PreparedStatement stmtGetStudents = con.prepareStatement(GET_ALL_STUDENTS_QUERY);
            ResultSet rs = stmtGetStudents.executeQuery();
            while (rs.next()) {
                int id = rs.getInt(1);
                String firstName = rs.getString(2);
                String lastName = rs.getString(3);
                System.out.println("Students :  " + firstName + " " + lastName);
            }
        } catch (Exception e) {
            System.out.println("Ошибка при выборке студентов. " + e.getMessage());
        }
    }
    private void printAllMarks() {
        try (Connection con = DriverManager.getConnection(URL, USER, PASSWORD)) {
            PreparedStatement stmtGetMarks = con.prepareStatement(GET_ALL_MARKS_QUERY);
            ResultSet rs = stmtGetMarks.executeQuery();
            while (rs.next()) {
                String name = rs.getString(1);
                String surName = rs.getString(2);
                String value = rs.getString(3);
                System.out.println(name + "  " + surName + " " + value);
            }
        } catch (Exception e) {
            System.out.println("Ошибка при выборке оценок. " + e.getMessage());
        }
    }
}

Вот сам SQL запрос

SELECT pupil.name ,pupil.surname,mark_value.values FROM pupil ,mark_value ,mark  WHERE pupil.id=mark.pupil_id AND mark.mark_id=mark_value.id;

А вот сама программа в которой нужно вывести всех студентов из базы данных. Как можно вывести всех студентов в этом интерфейсе

package school.frames;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import school.Main;
public class AllStudentFrame extends MyFrame { 
  public AllStudentFrame(JFrame parent){
    super("Все студенты", parent, 250, 200); 
  }                             
  @Override
        public void showFrame() {
        JList<Object> list = new JList<>(Main.getClassesAsArray());
        JScrollPane listScroller = new JScrollPane(list);
        listScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        listScroller.setBounds(0, 0, 250, 300);
        add(listScroller);  

        setVisible(true);

  }
  }
READ ALSO
Back with User Interface. Как происходит связь UI c Back

Back with User Interface. Как происходит связь UI c Back

Объясните пожалуйста, как происходит связь ui с back (в java)Например есть MVC, есть controller, model, view (в качестве view, у меня jsp)

116
Прокрутка горизонтального RecyclerView

Прокрутка горизонтального RecyclerView

В приложении есть горизонтальный RecyclerView в котором происходит выбор карточки ввиде карусельки где главный елемент занимает центральную...

95
как замедлить появление эффекта в javaFX

как замедлить появление эффекта в javaFX

Хочу что бы при нажатии на кнопку вперед выезжал другой Pane а на старый применялся эффект сепии и это сделать легко, но я не знаю как сделать...

136