Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Интерфейс AbstractController:
- package DAO;
- import java.sql.Connection;
- import java.sql.SQLException;
- public interface AbstractController<E> {
- E add(Connection connection,E e) throws SQLException;
- boolean update(Connection connection,E e) throws SQLException;
- }
- Класс DepartmentDAO:
- package DAO;
- import Enity.Department;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- public class DepartmentDAO implements AbstractController<Department> {
- @Override
- public Department add(Connection connection, Department department) throws SQLException {
- String sql = "insert into department (id_university,id_faculty,name) values (?,?,?)";
- try (PreparedStatement statement = connection.prepareStatement(sql)) {
- statement.setInt(1,department.getId_university());
- statement.setInt(2,department.getId_faculty());
- statement.setString(3,department.getName());
- statement.execute();
- } catch (SQLException e) {
- e.getMessage();
- }
- return department;
- }
- @Override
- public boolean update(Connection connection, Department department) throws SQLException {
- try(PreparedStatement statement = connection.prepareStatement("update department set name = '" +
- department.getName() +"' where id = " + department.getId() + ";")) {
- statement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
- }
- Класс FacultyDAO:
- package DAO;
- import Enity.Faculty;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- public class FacultyDAO implements AbstractController<Faculty> {
- @Override
- public Faculty add(Connection connection, Faculty faculty) throws SQLException {
- String sql = "insert into faculty (id_university,name) values (?,?)";
- try (PreparedStatement statement = connection.prepareStatement(sql)) {
- statement.setInt(1,faculty.getId_university());
- statement.setString(2,faculty.getName());
- statement.execute();
- } catch (SQLException e) {
- e.getMessage();
- }
- return faculty;
- }
- @Override
- public boolean update(Connection connection, Faculty faculty) throws SQLException {
- try(PreparedStatement statement = connection.prepareStatement("update faculty set name = '" +
- faculty.getName() +"' where id = " + faculty.getId() + ";")) {
- statement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
- }
- Класс UniversityDAO:
- package DAO;
- import Enity.University;
- import java.sql.*;
- public class UniversityDAO implements AbstractController<University> {
- @Override
- public University add(Connection connection, University university) throws SQLException {
- String sql = "insert into university (name,address) values (?,?)";
- try (PreparedStatement statement = connection.prepareStatement(sql)) {
- statement.setString(1,university.getName());
- statement.setString(2,university.getAddress());
- statement.execute();
- } catch (SQLException e) {
- e.getMessage();
- }
- return university;
- }
- @Override
- public boolean update(Connection connection, University university) throws SQLException {
- try(PreparedStatement statement = connection.prepareStatement("update university set name = '" +
- university.getName() +"',address='"+university.getAddress()+"' where id = " + university.getId() + ";")) {
- statement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
- }
- Класс Department:
- package Enity;
- public class Department {
- private int id;
- private int id_university;
- private int id_faculty;
- private String name;
- public Department(){
- }
- public Department(int id){
- this.id=id;
- }
- public Department(int id,int id_university,int id_faculty ,String name){
- this.id=id;
- this.id_university=id_university;
- this.id_faculty=id_faculty;
- this.name=name;
- }
- public Department(int id_university,int id_faculty,String name)
- {
- this.id_university=id_university;
- this.id_faculty=id_faculty;
- this.name=name;
- }
- public Department(String name){
- this.name=name;
- }
- public int getId(){return id;}
- public int getId_university(){return id_university;}
- public int getId_faculty(){return id_faculty;}
- public String getName(){return name;}
- public void setId(int id){this.id=id;}
- public void setId_university(int id_university){this.id_university=id_university;}
- public void setId_faculty(int id_faculty){this.id_faculty=id_faculty;}
- public void setName(String name){this.name=name;}
- @Override
- public String toString(){return name;}
- }
- Класс Faculty:
- package Enity;
- public class Faculty {
- private int id;
- private int id_university;
- private String name;
- public Faculty(){
- }
- public Faculty(int id,int id_university, String name){
- this.id=id;
- this.id_university=id_university;
- this.name=name;
- }
- public Faculty(int id_university,String name){
- this.id_university=id_university;
- this.name=name;
- }
- public Faculty(String name){
- this.name=name;
- }
- public int getId(){return id;}
- public int getId_university(){return id_university;}
- public String getName(){return name;}
- public void setId(int id){this.id=id;}
- public void setId_university(int id_university){this.id_university=id_university;}
- public void setName(String name){this.name=name;}
- @Override
- public String toString(){return name;}
- }
- Класс University:
- package Enity;
- public class University {
- private int id;
- private String name;
- private String address;
- public University(){
- }
- public University(int id,String name, String address){
- this.id=id;
- this.name=name;
- this.address=address;
- }
- public University(String name, String address){
- this.name=name;
- this.address=address;
- }
- public int getId(){return id;}
- public String getName(){
- return name;
- }
- public String getAddress(){
- return address;
- }
- public void setId(int id){this.id=id;}
- public void setName(String name) {
- this.name = name;
- }
- public void setAddress(String address){this.address=address;}
- @Override
- public String toString(){
- return name;
- }
- }
- Класс ConnectDataBase:
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- public final class ConnectDataBase {
- public static Connection connDataBase() {
- final String URL = "jdbc:postgresql://127.0.0.1:5432/course";
- final String USERNAME = "postgres";
- final String PASSWORD = "S123456s";
- Connection connection = null;
- try {
- Class.forName("org.postgresql.Driver");
- connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
- System.out.println("Соединение с БД установленно!");
- } catch (ClassNotFoundException | SQLException ex) {
- System.err.println("Нет коннекта к базе: " + ex);
- }
- return connection;
- }
- }
- Класс GUI:
- import DAO.DepartmentDAO;
- import DAO.FacultyDAO;
- import DAO.UniversityDAO;
- import Enity.Department;
- import Enity.Faculty;
- import Enity.University;
- import javax.swing.*;
- import java.awt.event.*;
- import java.sql.*;
- public class GUI extends JDialog {
- Connection connection =ConnectDataBase.connDataBase();
- private DefaultListModel dlmUniversity = new DefaultListModel<>();
- private DefaultListModel dlmFaculty = new DefaultListModel<>();
- private DefaultListModel dlmDepartment = new DefaultListModel<>();
- UniversityDAO universityDAO = new UniversityDAO();
- FacultyDAO facultyDAO = new FacultyDAO();
- DepartmentDAO departmentDAO = new DepartmentDAO();
- String getNameUni;
- String getNameFacu;
- String getNameDepa;
- int getId_uni;
- int getId_facu;
- int getId_depa;
- private JPanel contentPane;
- private JButton addUniversity;
- private JButton updateUniversity;
- private JList listUniversity;
- private JList listFaculty;
- private JList listDepartment;
- private JButton addFaculty;
- private JButton updateFaculty;
- private JButton addDepartment;
- private JButton updateDepartment;
- private JButton selectUni;
- private JButton selectFaculty;
- private JButton selectDepartment;
- public GUI() throws SQLException {
- addUniversity.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- University university = new University(JOptionPane.showInputDialog(contentPane,"Введите название вуза"),JOptionPane.showInputDialog(contentPane,"Введите адрес вуза"));
- try {
- dlmUniversity.add(dlmUniversity.getSize(),universityDAO.add(connection,university) );
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- validate();
- }
- });
- addFaculty.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- Faculty faculty = new Faculty(getId_uni,JOptionPane.showInputDialog(contentPane,"Введите название факультета"));
- try {
- dlmFaculty.add(dlmFaculty.getSize(),facultyDAO.add(connection,faculty) );
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- validate();
- }
- });
- addDepartment.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- Department department = new Department(getId_uni,getId_facu,JOptionPane.showInputDialog(contentPane,"Введите название кафедры"));
- try {
- dlmDepartment.add(dlmDepartment.getSize(),departmentDAO.add(connection,department) );
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- validate();
- }
- });
- updateUniversity.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- University university = new University(getId_uni,JOptionPane.showInputDialog(contentPane,"Введите новое название ВУЗа"),JOptionPane.showInputDialog(contentPane,"Введите новый адрес вуза"));
- try {
- //University university = new University(getId_uni,JOptionPane.showInputDialog(contents,"Введите новое название ВУЗа"),JOptionPane.showInputDialog(contents,"Введите новый адрес вуза"));
- universityDAO.update(connection,university);
- dlmUniversity.removeAllElements();
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery("select name,address from university");
- while (resultSet.next()) {
- String name = resultSet.getString("name");
- String address = resultSet.getString("address");
- University university1 = new University(name,address);
- dlmUniversity.addElement(university1);
- }
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- });
- updateFaculty.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- Faculty faculty = new Faculty(getId_facu,getId_uni,JOptionPane.showInputDialog(contentPane,"Введите новое название Факультета"));
- try {
- facultyDAO.update(connection,faculty);
- dlmFaculty.removeAllElements();
- try {
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery("select name from faculty where id_university="+getId_uni);
- while (resultSet.next()) {
- String name = resultSet.getString("name");
- Faculty faculty1 = new Faculty(name);
- dlmFaculty.addElement(faculty1);
- }}
- catch (SQLException ex){
- ex.printStackTrace();
- }
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- });
- updateDepartment.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- Department department = new Department(getId_depa,getId_uni,getId_facu,JOptionPane.showInputDialog(contentPane,"Введите новое название Кафедры"));
- try {
- departmentDAO.update(connection,department);
- dlmDepartment.removeAllElements();
- try {
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery("select name from department where id_university="+getId_uni+"and id_faculty="+getId_facu);
- while (resultSet.next()) {
- String name = resultSet.getString("name");
- Department department1 = new Department(name);
- dlmDepartment.addElement(department1);
- }}
- catch (SQLException ex){
- ex.printStackTrace();
- }
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- });
- selectUni.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- try {
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery("select address from university where id="+getId_uni);
- while (resultSet.next()) {
- JOptionPane.showMessageDialog(contentPane,"Адрес: "+resultSet.getString("address"));
- }
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- });
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery("select name,address from university");
- while (resultSet.next()) {
- String name = resultSet.getString("name");
- String address = resultSet.getString("address");
- University university = new University(name,address);
- dlmUniversity.addElement(university);
- }
- listUniversity.setModel(dlmUniversity);
- listUniversity.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
- if ( e.getClickCount() == 2 ){
- dlmFaculty.removeAllElements();
- dlmDepartment.removeAllElements();
- getNameUni=listUniversity.getSelectedValue().toString();
- try{
- PreparedStatement preparedStatement = connection.prepareStatement("select id from university where name=?");
- preparedStatement.setString(1, getNameUni);
- ResultSet resultSet = preparedStatement.executeQuery();
- while (resultSet.next()) {
- getId_uni = resultSet.getInt(1);
- }
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- try {
- ResultSet resultSet = statement.executeQuery("select name from faculty where id_university="+getId_uni);
- while (resultSet.next()) {
- String name = resultSet.getString("name");
- Faculty faculty = new Faculty(name);
- dlmFaculty.addElement(faculty);
- }}
- catch (SQLException ex){
- ex.printStackTrace();
- }
- }
- }
- });
- listFaculty.setModel(dlmFaculty);
- listFaculty.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
- if ( e.getClickCount() == 2 ){
- dlmDepartment.removeAllElements();
- getNameFacu = listFaculty.getSelectedValue().toString();
- try{
- PreparedStatement preparedStatement = connection.prepareStatement("select id from faculty where name=?");
- preparedStatement.setString(1, getNameFacu);
- ResultSet resultSet = preparedStatement.executeQuery();
- while (resultSet.next()) {
- getId_facu = resultSet.getInt(1);
- }
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- try {
- ResultSet resultSet = statement.executeQuery("select name from department where id_university="+getId_uni+"and id_faculty="+getId_facu);
- while (resultSet.next()) {
- String name = resultSet.getString("name");
- Department department = new Department(name);
- dlmDepartment.addElement(department);
- }}
- catch (SQLException ex){
- ex.printStackTrace();
- }
- }
- }
- });
- listDepartment.setModel(dlmDepartment);
- listDepartment.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
- getNameDepa = listDepartment.getSelectedValue().toString();
- try{
- PreparedStatement preparedStatement = connection.prepareStatement("select id from department where name=?");
- preparedStatement.setString(1, getNameDepa);
- ResultSet resultSet = preparedStatement.executeQuery();
- while (resultSet.next()) {
- getId_depa = resultSet.getInt(1);
- }
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- });
- setContentPane(contentPane);
- setModal(true);
- setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
- addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- onCancel();
- }
- });
- contentPane.registerKeyboardAction(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- onCancel();
- }
- }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
- }
- private void onOK() {
- dispose();
- }
- private void onCancel() {
- dispose();
- }
- public static void main(String[] args) throws SQLException, ClassNotFoundException, UnsupportedLookAndFeelException, InstantiationException, IllegalAccessException {
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- GUI dialog = new GUI();
- dialog.pack();
- dialog.setVisible(true);
- System.exit(0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement