Я создал программу на 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);
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Объясните пожалуйста, как происходит связь ui с back (в java)Например есть MVC, есть controller, model, view (в качестве view, у меня jsp)
В приложении есть горизонтальный RecyclerView в котором происходит выбор карточки ввиде карусельки где главный елемент занимает центральную...
Хочу что бы при нажатии на кнопку вперед выезжал другой Pane а на старый применялся эффект сепии и это сделать легко, но я не знаю как сделать...