Load()和get()同为查询方法,涉及到一个延迟检索的概念。这也是两者的主要区别。
Get是讲获得查询对象放进内存中,而且还包括对象的属性值。但是load查询只是在内存中建立一个空壳对象,只有内存地址,没有具体的属性值。这就导致了如果没有指定的数据,就会抛出空指针异常。
这样一说两者的巨大区别立马现象。一个只需查询名字,一个却要查询这个名字的所有信息。
在大数据的今天,显然先查询名字更加快捷。特别是你不需要某些对象的时候,但是get还是把它们的所有信息都查询了出来,这就相当于做了很多无用功。
不过get也不是没有优势,比如你急徐确切数据,二查询的数据库的数据又比较少,那么一次查询所有信息也不会太过于浪费时间。因为已经获得了所有数据,没必要用session了。所以可以关闭session。
而load只是获得了对象名,却还要获得对象的更多信息,所以还需要session继续操作,所以不能关闭session。
**
总结如下:
急需且数据小的时候用get。关闭session。无数据抛出null。 不急用且数据大的时候用load。不关闭session。无数据,抛出空指针异常。**
重点在上面,下面即使有图,也没有多大价值。不过也算一点小发现。
如果用户存在,则执行更新操作,如果用户不存在,则执行插入操作,而且这个方法继承了查询与更新,没必要首先get或者load进行查询操作。直接两步合一步。但是在底层执行的sql语句查询都是斌不可少的。
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦