duc01072004 / sss

0 stars 0 forks source link

v #2

Open duc01072004 opened 5 months ago

duc01072004 commented 5 months ago

package com.example.BTVN12.repository;

import com.example.BTVN12.Config.HibernateConfig; import com.example.BTVN12.entity.sinhVien; import jakarta.persistence.Query; import org.hibernate.Session; import org.hibernate.Transaction;

import java.util.List;

public class sinhVienRepository { public List getAll(){ Session session = HibernateConfig.getFACTORY().openSession(); List lists= session.createQuery("FROM sinhVien ").list(); session.close(); return lists; }

public sinhVien detail(Long id){
    Session session = HibernateConfig.getFACTORY().openSession();
    sinhVien sv = session.get(sinhVien.class,id);
    session.close();
    return sv;
}

public void add(sinhVien sv){
    Transaction tra = null;
    try(Session s = HibernateConfig.getFACTORY().openSession()){
        tra = s.beginTransaction();
        s.persist(sv);
        tra.commit();

    }catch (Exception e){
        e.printStackTrace();
    }
}

public void detele(Long id){
   Transaction tra = null;
  try (Session s = HibernateConfig.getFACTORY().openSession()){
      tra = s.beginTransaction();
      sinhVien sv = s.get(sinhVien.class,id);
      s.delete(sv);
      tra.commit();
  }
  catch (Exception s){
      s.printStackTrace();
  }
}
public void update(sinhVien sv){
    Transaction tra = null;
    try(Session s = HibernateConfig.getFACTORY().openSession()){
        tra = s.beginTransaction();
        s.merge(sv);
        tra.commit();
    }catch (Exception e){
        e.printStackTrace();
    }
}

public static void main(String [] args){
    System.out.println(new sinhVienRepository().getAll());
}

}

duc01072004 commented 5 months ago

package com.example.BTVN12.controller;

import com.example.BTVN12.entity.sinhVien; import com.example.BTVN12.repository.sinhVienRepository; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException; import java.util.ArrayList; import java.util.List;

@WebServlet(name = "sinhVienServlet", value = { "/sinh-vien/hien-thi", "/sinh-vien/add", "/sinh-vien/detail", "/sinh-vien/delete", "/sinh-vien/update", "/sinh-vien/view-update", "/sinh-vien/search", "/sinh-vien/top3" }) public class sinhVienServlet extends HttpServlet { private sinhVienRepository sinhVienRepository = new sinhVienRepository(); private List lists = new ArrayList<>();

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String uri = request.getRequestURI();
    if (uri.contains("/sinh-vien/hien-thi")) {
        this.hienthi(request, response);
    } else if (uri.contains("/sinh-vien/detail")) {
        this.detail(request, response);
    } else if (uri.contains("/sinh-vien/delete")) {
        this.xoa(request, response);
    }else if (uri.contains("/sinh-vien/view-update")){
        this.viewUpdate(request,response);
    }

    else {
        this.hienthi(request, response);
    }
}

private void viewUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    long id = Long.valueOf(request.getParameter("id"));
    sinhVien sv = sinhVienRepository.detail(id);
    request.setAttribute("view",sv);
    request.getRequestDispatcher("/update.jsp").forward(request,response);
}

private void xoa(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    long id = Long.valueOf(request.getParameter("id"));
    sinhVienRepository.detele(id);
    sinhVienRepository.getAll();
    request.setAttribute("sv", lists);
    hienthi(request, response);

}

private void hienthi(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    lists = sinhVienRepository.getAll();
    request.setAttribute("sv", lists);
    request.getRequestDispatcher("/SinhVien.jsp").forward(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String uri = request.getRequestURI();
    if (uri.contains("/sinh-vien/add")) {
        this.addsv(request, response);
    } else if (uri.contains("/sinh-vien/update")){
        this.update(request,response);
    }
    else {
        this.hienthi(request, response);
    }
}

private void update(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String ma = request.getParameter("ma");
    String ten = request.getParameter("ten");
    int tuoi = Integer.valueOf(request.getParameter("tuoi"));
    String diaChi = request.getParameter("diaChi");
    boolean gioiTinh =Boolean.valueOf( request.getParameter("gioiTinh"));
    int idLop = Integer.valueOf(request.getParameter("idLop"));

    sinhVien sv = new sinhVien();
    sv.setMa(ma);
    sv.setTen(ten);
    sv.setTuoi(tuoi);
    sv.setDiaChi(diaChi);
    sv.setGioiTinh(gioiTinh);
    sv.setLopId(idLop);

    sinhVienRepository.update(sv);

    hienthi(request,response);
}

private void detail(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    long id = Long.valueOf(request.getParameter("id"));
    sinhVien sinhVien = sinhVienRepository.detail(id);
    request.setAttribute("sv", sinhVien);
    request.getRequestDispatcher("/detail.jsp").forward(request, response);
}

private void addsv(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
    String ma = request.getParameter("ma");
    String ten = request.getParameter("ten");
    int tuoi = Integer.valueOf(request.getParameter("tuoi"));
    String diaChi = request.getParameter("diaChi");
    boolean gioiTinh =Boolean.valueOf( request.getParameter("gioiTinh"));
    int idLop = Integer.valueOf(request.getParameter("idLop"));

    sinhVien sv = new sinhVien();
    sv.setMa(ma);
    sv.setTen(ten);
    sv.setTuoi(tuoi);
    sv.setDiaChi(diaChi);
    sv.setGioiTinh(gioiTinh);
    sv.setLopId(idLop);
    sinhVienRepository.add(sv);

// response.sendRedirect("/sinh-vien/hien-thi"); hienthi(request, response); }

}

duc01072004 commented 5 months ago

package com.example.BTVN12.entity;

import jakarta.persistence.*;

@Entity @Table(name = "sinh_vien") public class sinhVien { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private long id;

@Column(name = "ma")
private String ma;

@Column(name = "ten")
private String ten;

@Column(name = "tuoi")
private long tuoi;

@Column(name = "dia_chi")
private String diaChi;

@Column(name = "gioi_tinh")
private boolean gioiTinh;

@Column(name = "lop_id")
private int lopId;

public sinhVien() {
}

public sinhVien(long id, String ma, String ten, long tuoi, String diaChi, boolean gioiTinh, int lopId) {
    this.id = id;
    this.ma = ma;
    this.ten = ten;
    this.tuoi = tuoi;
    this.diaChi = diaChi;
    this.gioiTinh = gioiTinh;
    this.lopId = lopId;
}

public sinhVien(String ma, String ten, long tuoi, String diaChi, boolean gioiTinh, int lopId) {
    this.ma = ma;
    this.ten = ten;
    this.tuoi = tuoi;
    this.diaChi = diaChi;
    this.gioiTinh = gioiTinh;
    this.lopId = lopId;
}

public long getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getMa() {
    return ma;
}

public void setMa(String ma) {
    this.ma = ma;
}

public String getTen() {
    return ten;
}

public void setTen(String ten) {
    this.ten = ten;
}

public long getTuoi() {
    return tuoi;
}

public void setTuoi(long tuoi) {
    this.tuoi = tuoi;
}

public String getDiaChi() {
    return diaChi;
}

public void setDiaChi(String diaChi) {
    this.diaChi = diaChi;
}

public boolean isGioiTinh() {
    return gioiTinh;
}

public void setGioiTinh(boolean gioiTinh) {
    this.gioiTinh = gioiTinh;
}

public int getLopId() {
    return lopId;
}

public void setLopId(int lopId) {
    this.lopId = lopId;
}

}

duc01072004 commented 5 months ago

package com.example.BTVN12.Config; import com.example.BTVN12.entity.lop; import com.example.BTVN12.entity.sinhVien; import org.hibernate.SessionFactory; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import org.hibernate.cfg.Environment; import org.hibernate.service.ServiceRegistry;

import java.util.Properties;

public class HibernateConfig { private static final SessionFactory FACTORY;

static {
    Configuration conf = new Configuration();

    Properties properties = new Properties();
    properties.put(Environment.DIALECT, "org.hibernate.dialect.SQLServerDialect");
    properties.put(Environment.DRIVER, "com.microsoft.sqlserver.jdbc.SQLServerDriver");
    properties.put(Environment.URL, "jdbc:sqlserver://localhost:1433;databaseName=Buoi12;encrypt=true;trustServerCertificate=true;");
    properties.put(Environment.USER, "sa");
    properties.put(Environment.PASS, "123");
    properties.put(Environment.SHOW_SQL, "true");

    conf.setProperties(properties);
    conf.addAnnotatedClass(sinhVien.class);
    conf.addAnnotatedClass(lop.class);
    ServiceRegistry registry = new StandardServiceRegistryBuilder()
            .applySettings(conf.getProperties()).build();
    FACTORY = conf.buildSessionFactory(registry);

}

public static SessionFactory getFACTORY() {
    return FACTORY;
}
public static void main(String[] args){
    System.out.println(getFACTORY());
}

}