2020年11月28日星期六

Hibernate框架session的方法

package Test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import model.stud;public class testmain { public static void main(String[] args) {    //配置信息对象  Configuration config=new Configuration();  //配置全局对象  config=config.configure("hibernate.cfg.);  //创建session工厂  SessionFactory sessionfactory=config.buildSessionFactory();  //建立数据库会话  Session session=sessionfactory.openSession();  //获取事务对象  Transaction t=session.beginTransaction();  stud stu=new stud(null, "猪大肠", "123456", "嫖娼");  session.save(stu);  t.commit();  session.close(); }}

 以上是测试的基本配置

Session对象的方法

    1.save:保存对象(就相当于sql语句里面的添加语句一样);

        persist():保存一个对象,跟save作用一样(*如果手动设置了ID,则save方法会忽略ID,而persist方法会抛出一个异常)

    2.get:根据OID获取对象(*根据id查询对象):

     

stud stud = session.get(stud.class, 1);System.out.println(stud);

    3.load:加载一个对象,跟get方法一样:

          1.get会立即查询,而load不会立即查询,要等到调用到它时它才会去查询

          2.load加载之后,如果session被管理,则直接抛出异常

          3.如果数据库中没得响应的结果,则get会返回一个null,而load会直接抛出异常

stud stud=session.load(stud.class, 1);System.out.println(stud);

    4.clear:清空缓存

session.clear();

    5.refresh.重新加载某个对象

    6.evict:可以将某个被session管理的持久化对象,从session中移除,使其变为游离对象;

          1.瞬时态:

              存在于程序中,不存在数据库中,没有oid,不在session中

  如下:

1 UserInfo userInfo = new UserInfo(88,"恶霸天","987654",30,"小鱼儿与花无缺","simalfishchild@qq.com");2 System.out.println(userInfo);

 

          2.游离态:

              存在与程序中,存在与数据库中,有oid,不在session中

  如下:

1 UserInfo userInfo3 = session.get(UserInfo.class, 4);2 session.clear();
  //修改密码3 userInfo3.setPassWord("6666666");

 

           3.持久态:

              存在于程序中,存在于数据库中,有oid,在session中

     如下:

  UserInfo userInfo2 = session.get(UserInfo.class, 5);

 

   7.close:关闭

session.close();

  8.update:更新对象(游离),该对象会转变为持久化对象

  //修改  session.update(userInfo);       

 

  9.delete:从数据库中删除一个对象, session的delete方法是通过主键进行删除的,主键不存在则异常,持久状态对象被delete后变成瞬时状态对象

session.delete(1);

  10.saveOrUpdate:系统会判断该对象,如果是临时对象,就会执行保存操作,如果是游离对象,则执行更新操作

 stud stu1=new stud(null, "王胖子", "123456", "嫖娼");  session.saveOrUpdate(stu1);

  11.flush:发送让session对象SQL语句
  

 

   以上方法本人已测试,如有写错的地方请大家指出

 









原文转载:http://www.shaoqun.com/a/493311.html

抢注商标:https://www.ikjzd.com/w/1053

yeepay:https://www.ikjzd.com/w/2574

海维:https://www.ikjzd.com/w/1891


packageTest;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.Transaction;importorg.hibernate.cfg.Configuration;importmodel.stud;publicclasstestmain{publicstaticvoidma
review:review
达方物流:达方物流
2019年上半年:跨境圈大事件盘点!:2019年上半年:跨境圈大事件盘点!
广州火车站到广州芳村汽车客运站怎么走?:广州火车站到广州芳村汽车客运站怎么走?
惠州熊猫金海岸度假区该怎么走?:惠州熊猫金海岸度假区该怎么走?

没有评论:

发表评论

跨境电商资讯:外贸宣传平台有哪些(出口的

现在很多做外贸的人都非常关注 外贸企业怎么推广 ,而现在推广的途径和平台有很多,企业如果都做,成本和时间精力是一个问题,而且并不是所有的推广渠道都是有用的。今天云程网络就来为大家盘点几个有效的外贸推广渠道。 一、海外社交媒体营销 Facebook,领英等海外社交媒体营销在近几年得...