hibernate 哪位大侠能帮我说说hibernate框架如何运作的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 100分就拿来问这个啊.....简单来说,它根据你的pojo映射文件,和数据库方言,二者综合起来,把你对于表的增删改查sql语句直接生成好,提供给你一套api,你用这套api就可以完成增删改查。它还有一个用于复杂业务需求的hql语言,面向被映射的pojo来写“类sql”语句,它解析成sql语句帮你执行。简单说的话就这么多吧。 不用最好,用起来感觉没什么优势,弄不好还一大堆问题,直接jdbc得了。 买本书看一下,这里几句话是说不清楚的,总之不管什么框架最终都是转为了基本的sql操作! 其实用Hibernate真感觉不到有好大的优势,还要去熟悉他的HQL,可能是给项目太小有关系。还是喜欢用jdbc,直接用sql一目了然。 根据使用hibernate的步骤,和常用的几个类和接口,去研究源码。仔细研究一下源码,源码网上到处都有,原理就很明白了, hibernate就是要对jdbc进行简单的封装,以便于减少数据库语句的,因为对于项目而言,SQL文对于程序员是不透明的,在程序中加载大量的SQL文事不好的习惯,一般都会放到一个XML文件里,或者属性文件里,当时当SQL文有几十上百条时,又有的sql文长达百行,你还能看的懂吗?一个月之后呢,你能从sql中看出业务来吗?所以使用这种映射框架就是为了让数据库的操作能对我们透明。 楼了说的有道理,我来补充一点:对于一般的应用系统而言,其实就是对数据进行增删改查的操作。特别是JAVA这样的面向对象的语言。但是现在主流数据库都是面向关系的。将对象保存到关系数据库中,我们使用JDBC时,需要作复杂的“拼SQL”,这对很多对数据库不是非常了解的程序员来说,相当困难。应用程序Dao<---->hibernate(其将JDBC封装起来)<--------->DB上面的图表示系统在持久层的调用关系。hibernate首先需要一个基本配置文件(默认文件名: hibernate.cfg.xml),保存基本的初始化信息。需要每一个映射到关系数据库的实体类作一个配置,使用实体类的每一个属性对象数据二维表中的一个字段。hibernate对jdbc进行封装,他定义了一个总的数据访问接口,不同的数据库有不同的实现,以使其具有跨主流数据库的特性。当需要访问数据库时,其使用了dialect方言的定义来争对不同数据库生成不同SQL。通过使用缓存等方式来使得数据访问更有效。其实,hibernate本身也是复杂的。 砸了个玻璃杯,敲破脑子调不出来!!!求高手~ my97datepicker 出现的乱码问题 高分请教,Spring拦截器内怎么样获取HttpSession对象? 请教smartUpload高手 jfreechart问题,急求! 散分啦……如何解决在2000SERVER中不能上传大文件(大概300K以上)的问题?——100分 关于tomcat和jdk 请问是否有用数据库动态实现WEB形式的树状菜单的例子!十万火急!! 求助···mysql函数问题 文件上传时,如何弹出“此文件名已存在,是否覆盖” 关于mysql数据库中的一张表 分页 显示到jsp页面 关于MySql
简单来说,它根据你的pojo映射文件,和数据库方言,二者综合起来,把你对于表的增删改查sql语句直接生成好,提供给你一套api,你用这套api就可以完成增删改查。
它还有一个用于复杂业务需求的hql语言,面向被映射的pojo来写“类sql”语句,它解析成sql语句帮你执行。
简单说的话就这么多吧。
仔细研究一下源码,源码网上到处都有,原理就很明白了,
hibernate就是要对jdbc进行简单的封装,以便于减少数据库语句的,因为对于项目而言,SQL文对于程序员是不透明的,在程序中加载大量的SQL文事不好的习惯,一般都会放到一个XML文件里,或者属性文件里,当时当SQL文有几十上百条时,又有的sql文长达百行,你还能看的懂吗?一个月之后呢,你能从sql中看出业务来吗?
所以使用这种映射框架就是为了让数据库的操作能对我们透明。