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<Student> list = q.list();
//把list遍历的实体类传给定义好的实体类
//然后返回
for(Student sd:list){
sdt = sd;
}
return sdt;
完