前言
使用Hibernate设计通用接口实现对Java对象进行增查改删(CRUD)的工作
一、改造dao层,加入hibernate框架
二、核心功能在studentDao中声明
public class UserDaoImpl implements UserDao {
@Override
public void insert(User u){
SessionFactory sf = hibernateUtil.getSessionFactory();
Session session =sf.getCurrentSession();
//开启事务
org.hibernate.Transaction transaction = session.beginTransaction();
session.save(u);
transaction.commit();
sf.close();
}
@Override
public void delete(int id){
SessionFactory sf = hibernateUtil.getSessionFactory();
Session session =sf.getCurrentSession();
//开启事务
org.hibernate.Transaction transaction = session.beginTransaction();
session.delete(id);
transaction.commit();
sf.close();
}
@Override
public List<User> queryAll(){
SessionFactory sf = hibernateUtil.getSessionFactory();
Session session =sf.getCurrentSession();
//开启事务
org.hibernate.Transaction transaction = session.beginTransaction();
Query query = session.createQuery("from User ");
List<User> users = query.list();
transaction.commit();
sf.close();
return users;
}
@Override
public void update(User u){
SessionFactory sf = hibernateUtil.getSessionFactory();
Session session =sf.getCurrentSession();
//开启事务
org.hibernate.Transaction transaction = session.beginTransaction();
session.update(u);
transaction.commit();
sf.close();
}
}
三、创建control类,作为中心站进行请求的处理
public class controlextends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String uri = req.getRequestURI();
System.out.println(uri);
if(uri.equals("/u/insert")){
new Insert().execute(req,resp);
}else if(uri.equals("/u/query")){
new query().execute(req, resp);
}
}
}
四、执行结果 成功插入