hql语句的增删改查

hql语句的增删改查,自己的一个小总结

一、首先创建一个Student表来对其进行操作。先在后台创建一个Student实体类,然后配置与实体类对应的xml文件,例:Student.hbm.xml

二、进行增删改查语句操作

1.增(添加Student

//传入已经打包好的方法
s = HibernateUtil.getSesssion();
//开始事务
ts = s.beginTransaction();
//创建实体类进行赋值
Student sd = new Student();
sd.setName("Tom");
sd.setGrande("男");
sd.setAge(21);
//因为已经配置好实体类的xml
//直接save保存数据库就会生成表和数据
//这样就比sql语句更方便
s.save(sd);
//提交事务
ts.commit();
流程是:创建好实体类-通过映射文件-在生成数据库表

2.删(删除Student

s = HibernateUtil.getSesssion();
ts = s.beginTransaction();
//直接get()方法,通过实体.class和student表的id
//查到再赋值给sd实体类
Student sd = (Student)s.get(Student.class, 1);
//获取到的实体类直接删除就行了
s.delete(sd);
ts.commit();
或根据条件用hql来删除
s = HibernateUtil.getSesssion();
ts = s.beginTransaction();
String hql = "delete Student as sd where sd.Name=?";
Query q = s.createQuery(hql);
q.setString(0, "Tom");
q.executeUpdate();
ts.commit();
3.改 (修改 Student的属性

s = HibernateUtil.getSesssion();
ts = s.beginTransaction();
//直接get()方法,通过实体.class和student表的id
//查到再赋值给sd实体类
Student sd = (Student)s.get(Student.class, 3);
sd.setName("Jay");
sd.setAge(16);
sd.setGrande("女");
//获取到的实体类直接删除就行了
s.update(sd);
ts.commit();
或根据条件用hql来修改

s = HibernateUtil.getSesssion();
ts = s.beginTransaction();
String hql  = "update Student as sd set sd.Name=?,sd.age=? where sd.id=?";
Query q = s.createQuery(hql);
q.setString(0, "Make");
q.setInteger(1, 32);
q.setInteger(2, 3);
q.executeUpdate();
ts.commit();
4.查 (查找 Student
s = HibernateUtil.getSesssion();
ts = s.beginTransaction();
Student sd = (Student)s.get(Student.class, 3);
ts.commit();
//get()方法查到后return实体类输出
return sd;
或根据条件用hql来修改
s = HibernateUtil.getSesssion();
ts = s.beginTransaction();
String hql = "from Student as sd where sd.Name=?";
Query q = s.createQuery(hql);
q.setString(0, "Make");
Student sdt = new Student();
List list = q.list();
//把list遍历的实体类传给定义好的实体类
//然后返回
for(Student sd:list){
 sdt = sd;
}
return sdt;



 
  

你可能感兴趣的:(hql语句的增删改查)