当前位置:   article > 正文

session对象详解_session 撖寡情

session 撖寡情

Session

在这里插入图片描述

Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。

Hibernate中Session对象是非线程安全的 ,不能定义成全局变量, 只能定义成局部变量。

Session代表的是Hibernate与数据库的链接对象,是与数据库交互的桥梁。

●Session中的API

    ■保存方法:

       ▲Serializable save(Object obj)   Serializable可序列话  其实是ID

     Customer customer = new Customer();
    	customer.setCust_name("cc");
    	try {
    		Serializable id = seesion.save(customer);
    		System.out.println(id);
		} catch (Exception e) {
			System.out.println(e);
			// TODO: handle exception
		}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

结果:

■查询方法:
在这里插入图片描述

▲T get(Class c,Serializable id);
▲T load(Class c,Serializable id);
get 和load的区别 :

 get方法
  • 1

采用的立即加载,代码执行的时候,就马上发送 sql语句去查询,查询后返回真正的实体,当查询一个找不到的对象会返回为null

 load方法
  • 1

采用的是延时加载(lazy懒加载),代码执行到的时候,不发送sql语句,当真正用到对象时候才会发送sql.查询后是代理对象。javassist-3.18.1-GA.jar 利用javasisit技术的代理,查询一个找不到的对象 ,返回ObjectNotFoundException

■修改的方法:

   ▲void update(Object obj)
  • 1

在这里插入图片描述

■删除的方法:

 ▲void delete(Object obj)
  • 1

在这里插入图片描述

■保存或更新:

▲void saveOrUpdate(Object obj)
  • 1

在这里插入图片描述

■查询:

▲ SQLQuery createSQLQuery(String queryString);

▲Query createQuery(String queryString);
写sql和hql都是可以的
在这里插入图片描述


作者:叫我18岁的骚年
来源:CSDN
原文:https://blog.csdn.net/q6658368/article/details/81181973
版权声明:本文为博主原创文章,转载请附上博文链接!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/149381
推荐阅读
相关标签
  

闽ICP备14008679号