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



 


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值