/**
*
* @author Administrator
* 增删改查
*/
public class CRUD {
public static void main(String[] args) {
CRUD c = new CRUD();
// Student st = new Student(20, "张", "男", "交通与物流", "物联网", "3班");
// c.save(st);
// c.update(20);//更新
// c.delete(20);
List<Student> list = c.findAll();
System.out.println("共有"+list.size()+"条数据");
System.out.println(list);
}
//增加
public void save(Student st){
//获取session 实例
Session session = HibernateSessionFactory.getSession();
//开启事务
Transaction ts = session.beginTransaction();
session.save(st);//保存
//提交事务
ts.commit();
//session.close();
HibernateSessionFactory.closeSession();
}
//查找
public Student findStudentById(int id){
Session session = HibernateSessionFactory.getSession();
Student st = (Student) session.get(Student.class, id);
return st;
}
//更新
public void update(int id){
//首先先去找到
Student st = findStudentById(id);
if(st != null){
st.setSName("new Name");
Session session = HibernateSessionFactory.getSession();
Transaction ts = session.beginTransaction();
session.update(st);
ts.commit();
HibernateSessionFactory.closeSession();
}else{
System.out.println("当前信息不存在,无法修改");
}
}
public void delete(int id){
Student st = findStudentById(id);
if(st != null){
Session session = HibernateSessionFactory.getSession();
Transaction ts = session.beginTransaction();
session.delete(st);
ts.commit();
HibernateSessionFactory.closeSession();
System.out.println("用户信息已被删除");
}else{
System.out.println("当前用户信息不存在或是已被删除");
}
}
//如何查询多条数据 查询某一张表中所有数据
public List<Student> findAll(){
//hql sql
Session session = HibernateSessionFactory.getSession();
String hql = "from Student";
Query query = session.createQuery(hql);
List<Student> list = query.list();
return list;
}
}