Open duc01072004 opened 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
@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); }
}
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;
}
}
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());
}
}
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;
}
}