andyshon

BusDAOImpl.java

Oct 4th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.00 KB | None | 0 0
  1. package com.andyshon;
  2.  
  3. import org.hibernate.Query;
  4. import org.hibernate.Session;
  5.  
  6. import javax.swing.*;
  7. import java.sql.SQLException;
  8. import java.util.ArrayList;
  9. import java.util.Collection;
  10. import java.util.List;
  11. import java.util.Set;
  12.  
  13. import com.andyshon.Bus;
  14. import com.andyshon.Driver;
  15. import com.andyshon.Route;
  16.  
  17. /**
  18.  * Created by andys_000 on 02.10.2017.
  19.  */
  20. public class BusDAOImpl implements BusDAO {
  21.     public void addBus(Bus bus) throws SQLException {
  22.         Session session = null;
  23.         try {
  24.             session = HibernateUtil.getSessionFactory().openSession();
  25.             session.beginTransaction();
  26.             session.save(bus);
  27.             session.getTransaction().commit();
  28.         } catch (Exception e) {
  29.             JOptionPane.showMessageDialog(null, e.getMessage(), "Ошибка при вставке", JOptionPane.OK_OPTION);
  30.         } finally {
  31.             if (session != null && session.isOpen()) {
  32.  
  33.                 session.close();
  34.             }
  35.         }
  36.     }
  37.  
  38.     public void updateBus(int bus_id, Bus bus) throws SQLException {
  39.         Session session = null;
  40.         try {
  41.             session = HibernateUtil.getSessionFactory().openSession();
  42.             session.beginTransaction();
  43.             session.update(bus);
  44.             session.getTransaction().commit();
  45.         } catch (Exception e) {
  46.             JOptionPane.showMessageDialog(null, e.getMessage(), "Ошибка при вставке", JOptionPane.OK_OPTION);
  47.         } finally {
  48.             if (session != null && session.isOpen()) {
  49.                 session.close();
  50.             }
  51.         }
  52.     }
  53.  
  54.     public Bus getBusById(int bus_id) throws SQLException {
  55.         Session session = null;
  56.         Bus bus = null;
  57.         try {
  58.             session = HibernateUtil.getSessionFactory().openSession();
  59.             bus = (Bus)session.get(Bus.class, bus_id);  // get, not load!
  60.         } catch (Exception e) {
  61.             JOptionPane.showMessageDialog(null, e.getMessage(), "Ошибка 'findById'", JOptionPane.OK_OPTION);
  62.         } finally {
  63.             if (session != null && session.isOpen()) {
  64.                 session.close();
  65.             }
  66.         }
  67.         return bus;
  68.     }
  69.  
  70.     public Collection getAllBusses() throws SQLException {
  71.         Session session = null;
  72.         List busses = new ArrayList<Bus>();
  73.         try {
  74.             session = HibernateUtil.getSessionFactory().openSession();
  75.             busses = session.createCriteria(Bus.class).list();
  76.         } catch (Exception e) {
  77.             JOptionPane.showMessageDialog(null, e.getMessage(), "Ошибка 'getAll'", JOptionPane.OK_OPTION);
  78.         } finally {
  79.             if (session != null && session.isOpen()) {
  80.                 session.close();
  81.             }
  82.         }
  83.         return busses;
  84.     }
  85.  
  86.     public void deleteBus(Bus bus) throws SQLException {
  87.         Session session = null;
  88.         try {
  89.             session = HibernateUtil.getSessionFactory().openSession();
  90.             session.beginTransaction();
  91.             session.delete(bus);
  92.             session.getTransaction().commit();
  93.         } catch (Exception e) {
  94.             JOptionPane.showMessageDialog(null, e.getMessage(), "Ошибка при удалении", JOptionPane.OK_OPTION);
  95.         } finally {
  96.             if (session != null && session.isOpen()) {
  97.                 session.close();
  98.             }
  99.         }
  100.     }
  101.  
  102.     public Collection getBussesByDriver(Driver driver) throws SQLException {
  103.         Session session = null;
  104.         List busses = new ArrayList<Bus>();
  105.         try {
  106.             session = HibernateUtil.getSessionFactory().getCurrentSession();
  107.             session.beginTransaction();
  108.             int driver_id = driver.getId();
  109.             //System.out.println("driver id=" + driver_id);
  110.             Query query = session.createQuery(
  111.                     " select b "
  112.                             + " from Bus b INNER JOIN b.drivers driver"
  113.                             + " where driver.id = :driverId "
  114.             )
  115.                     .setInteger("driverId", driver_id);
  116.             busses = (List<Bus>) query.list();
  117.             session.getTransaction().commit();
  118.  
  119.         } finally {
  120.             if (session != null && session.isOpen()) {
  121.                 session.close();
  122.             }
  123.         }
  124.         return busses;
  125.     }
  126.  
  127.     public Collection getBussesByRoute(Route route){
  128.         Session session = null;
  129.         List busses = new ArrayList<Bus>();
  130.         try {
  131.             session = HibernateUtil.getSessionFactory().getCurrentSession();
  132.             session.beginTransaction();
  133.             int route_id = route.getId();
  134.             Query query = session.createQuery("from Bus where route_id = :route_id ").setInteger("route_id", route_id);
  135.             busses = (List<Bus>) query.list();
  136.             session.getTransaction().commit();
  137.         } finally {
  138.             if (session != null && session.isOpen()) {
  139.                 session.close();
  140.             }
  141.         }
  142.         return busses;
  143.     }
  144.  
  145. }
Add Comment
Please, Sign In to add comment