Session接口

核心接口:
Session、SessionFactory、Transaction、Query、Criteria、Configuration。
Configuration: 负责配置并启动Hibernate,创建SessionFactory对象。
SessionFactory:保存了对应当前数据库配置的所以映射关系。
Session:负责执行被持久化对象的CRUD操作。
Transaction:负责事务相关的操作。
Query和Criteria:进行数据查询。

基本的增删改查
1、save()
Session session = GetSessionFactory. getSession ();
             //开启事务
            Transaction tr = session.beginTransaction();
             //保存对象
            session.save(user);
             //提交事务
            tr.commit();
             //关闭session
            session.close();
2、delete()方法,是通过主键id来删除,与其他属性无关。
Session session = GetSessionFactory. getSession ();
             //开启事务
            Transaction tr = session.beginTransaction();
             //将对象加载出来后进行删除
            String hql = "delete from User user where user.name=1212" ;
             Query querydelete = session.createQuery(hql);
             //执行操作,成功返回1,失败返回0;
             int ret = querydelete.executeUpdate();
            System. out .println(ret);
//          User user = (User)session.load(User.class, 1);
//          session.delete(user);
             //提交事务
            tr.commit();
             //关闭session
            session.close();
3、load()/get()
当数据库中没有所查询的数据时,load()抛出异常,get()返回null。
调用get方法是会立即进行查询操作,
load()方法会在第一次查询对象的时才真正进行查询操作,称为延时加载。
Session session = GetSessionFactory. getSession ();
             User user = ( User )session.load( User . class , 2);
            
            session.close();

查询种类:主键查询,HQL查询,Criteria查询,原生SQL查询,命名查询,JDBC查询,导航查询。

4、update
Session session = GetSessionFactory. getSession ();
             //开启事务
            Transaction tr = session.beginTransaction();
             //将对象加载出来后进行删除
            String hql = "update User user set user.password='55555' where user.name=?" ;
             Query querydelete = session.createQuery(hql);
            querydelete.setParameter(0, "55555" );
             //querydelete.setString(0, "55555");
             //执行操作,成功返回1,失败返回0;
             int ret = querydelete.executeUpdate();
            System. out .println(ret);
//          User user = (User)session.load(User.class, 1);
//          session.delete(user);
             //提交事务
            tr.commit();
             //关闭session
            session.close();





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值