Hibernate基础---增、删、改、Query对象

来源:互联网 发布:初学电钢琴推荐 知乎 编辑:程序博客网 时间:2024/05/29 14:22

Hibernate中的Session提供了多种更新数据的方法,这里介绍一部分

一、实现增删改

测试类

public static void saveUpdateDelte(){    //1使用 HibernateSessionFactory 工具类 获取session    Session session = HibernateSessionFactory.getSession();    //2.获得id为2的Teacher -->持久化对象    //Teacher t = (Teacher)session.get(Teacher.class, 2);    //3.增删改需要事务    //开启事务    Transaction tr = session.beginTransaction();    //4.添加对象-->添加一个对象到数据库不需要一个持久化对象    //添加teacher    //Teacher t = new Teacher();    //t.setName("bbb");    //session.save(t);    //4.删除对象-->从数据库删除一个对象需要一个持久化对象    //session.delete(tr);    //4.修改对象-->修改一个对象到数据库需要一个持久化对象或者游离态对象    //tr.setName("aaa");    //session.update(tr);    //5.提交事务    tr.commit();    //6.关闭session    session.close();}

二、构建Query对象,执行HQL语句—>HQL一种面对对象的查询语言

1、按参数位置绑定参数
在HQL语句中用”?”占位符来定义参数的位置,

<!--创建query对象  预编译hql查询语句-->//查询的是Teacher 对象的id和name属性Query query = session.createQuery("from Teacher where id=? and name=? ");//为HQL添加参数query.setInteger(0, 2);query.setString(1, "张三");//获取结果-->query.uniqueResult()方法返回一个唯一结果Teacher teacher = (Teacher)query.uniqueResult();注意: 第一个参数位置下标为0

2、按参数名称绑定参数
定义命名参数, 命名参数以” : “开头

//预编译 hql 查询语句String hql="from Teacher where id=:id and name =:name ";//创建 query 对象-->使用变量注入HQL语句Query query = session.createQuery(hql);//为HQL添加参数query.setInteger("id", 2);query.setString("name", "张三");//获取结果-->query.uniqueResult()方法返回一个唯一结果Teacher teacher = (Teacher)query.uniqueResult();

3、使用setParameter()方法绑定任意类型参数

原创粉丝点击