视觉盛宴的意思:java的持久化有什么用?

来源:百度文库 编辑:高考问答 时间:2024/04/29 12:01:07
从实际角度来讲?
可以应用在什么地方?
谢谢!

Hibernate - Let your java objects HIBERNATE in the databases. 让你的java对象在数据库里冬眠~~~~

现在很多应用程序,或者单机,或者web应用程序,或者其他什么系统,都会用到数据库。对象持久化技术可以用一种直观的方法操作数据库。

比如我们现在这些帖子都是放在数据库里的;当你写了一个新帖子,服务器上会产生一个新对象~~而对象是在内存里的,是临时存在的东西,持久化可以把对象“放”到数据库里去长久保存,这样帖子就保存了。

现在很多应用的数据都用数据库,所以持久化就可以在很多地方使用了~~~~

举人大人说到的ORM,就是对象关系映射,因为现在多半数据库都是关系型数据库,把对象“放”进去不是想象中的那么容易,所以就有些像Hibernate iBatis JDO这样的技术来帮助你实现持久化。

java持久化技术是为了将java对象与数据库表对应。
java中存储很多对象在内存是很浪费空间的,内存过于昂贵,与硬盘、磁带、光盘等外存相比,内存的价格要高2~3个数量级,而且维持成本也高,至少需要一直供电吧。所以即使对象不需要永久保存,也会因为内存的容量限制不能一直呆在内存中,需要持久化来缓存到外存。
持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。

持久化是将Java虚拟机对象持久保存,而不是将数据库映射为对象,通常数据的存储是用数据库实现的;当然,如果你有更好的存储系统,也可以映射到系统中的存储设备中,这可能需要你自行开发持久化框架来进行持久化一个Java对象。如果是持久化到数据库,现在已经涌出许多ORM框架,像Hibernate,轻量级的ibatis,都是不错的选择。
现在大部分数据库还是关系型的,而Java是面向对象的语言,很明显将一个对象型的数据如何保存到关系型数据库中呢?这就要借助强大的ORM框架解决这个问题。
比如ibatis框架,使用时只要配置好sqlMapConfig及相应的sqlMap配置文件,只要保存对象或更新对象及可,编程时不再需要写sql才能操作数据,查找时同样查到的是对象数据而不是关系型数据,通过对象set(para),get()方法插入及取得对应数据,Hibernate也是同样的,这里不再祥述,现在网上资料及相关书籍中有很多这样的讲解,了解、熟悉甚至精通这些需要研读相关书籍,有兴趣的话最好研读源码,以上都是开源的框架,网上即可下到