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

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()方法绑定任意类型参数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值