WEB开发网
开发学院软件开发Java 概括Hibernate数据库连接 阅读

概括Hibernate数据库连接

 2009-09-26 00:00:00 来源:WEB开发网   
核心提示: 我是一个比较爱说的人,我觉得你只要能认真的去思考分析一件事物,概括Hibernate数据库连接(5),不管你得到的结论是怎么样的,旨在在这个过程你从中是否学到了一些东西,感觉也很实用,简单明了,我不喜欢那些平时不爱说话的,因为那时候我们不知道他对这个事物的看法是怎样的

我是一个比较爱说的人,我觉得你只要能认真的去思考分析一件事物,不管你得到的结论是怎么样的,旨在在这个过程你从中是否学到了一些东西,我不喜欢那些平时不爱说话的,因为那时候我们不知道他对这个事物的看法是怎样的,也难以猜测他心里到底在想什么。既然上面有说到Hibernate和ADO.NET,所以我又加上了这一段罗嗦起来了,呵呵,就我这皮毛也当回顾我以前一些知识,谈不上总结也算小记一翻,希望高手们别笑话我们这些新手了,下面就我所了解的 Hibernate和ADO.NET比较如下:在Hibernate中,首先我们需要在JAVA工程里面添加Hibernate标签库(我用的是 Hibernate 3.1 Core Libraries)的引用,在.NET中我觉得就是using、import名称空间SqlClient、OleDb添加程序集的过程,然后我们需要打开DB Brower建立数据库连接字符串,就是打服务器名用户名密码等,然后Hibernate数据库连接信息保存在hibernate。cfg.xml(默认缺省)这一个xml文件中,在连接数据库的时候值得一提的是需要数据库连接驱动包,不同的数据库有不同的驱动包,个人觉得不同的驱动包作用在与,由于不同数据库用的可能的是不同连接操作方式,如Oracle是表空间的形式存在数据库等,而其他的可能略有不同。

正确配置好连接成功后,我们就能在DB Brower里看到数据库和数据库对应的表了,在你连接数据库前添加Hibernate时它会叫你选择包,添加后包下面就会多3个类了,IBaseHibernateDAO、BaseHibernateDAO、HibernateSessionfactory 从名字就可以看出来就是一个接口、一个接口实现类(implements)、一个工厂,具体里面是如何实现的以及其原理机制我此小辈能讲清楚的,我还是有自知知明的,等下甭被我的这点Java皮毛知识给歪曲了那就不好了,不过我看里面的代码也很少简单,要理解起来也不难,反正就创建了这3个类,然后我就需要在DB Brower里面选择相应的表Hibernate Reverse Engineering添加对应DAO和Model,Model就是数据库表对象映射实例,数据库表的每一列充当Model类的属性字段,并添加有 get、set规则的属性访问器,而DAO类里面则封装的是对该表的一些常见的数据访问操作(insert、delete、update、 select),它有自己的HibernateSQL语句(不是一般的sql语句),这一块我手动写得很少,不过和一般的sql语句语法还是很相似,如有按属性名查询返回Model强类型化List集合等,除此之外,每添加一个表还会自动添加表名.hbm.xml文件,这个xml文件保存数据库映射到 Hibernate表字段的具体信息,如主键信息、列长度相应的Java类型等,要注意的是在添加的时候它会叫你选择ID Generator表的信息,这里常见的是assigned(有表主键)和native(自动增长主键),因为在呆后创建的时候它会根据你所选择的信息创建不同的DAO和Model,如在构造函数和一些数据访问的方法里面就可能有需要ID主键的,而对于自动增长的则无须输入ID主键即可。

你可以对多个可能用的到表执行上述Hibernate Reverse Engineering映射操作,你可以在不写一局代码的情况下完成对数据库的大多数的一般操作在其他地方很方便的调用,我觉得这就是Hibernate 的最大的好处优点;而在.NET中类,相对Hibernate来说我想是一步一个脚印,什么DAO方法等代码一行行写,不过我觉得这样也没什么不好的,我们一般在项目中就用一个SqlHelper类,里面写上对数据库的一些增删改查方法等。

根据传来的SQL语句和参数组或存储过程等动态的返回数据集合(List)或记录数等,用起来也挺好的,顶多还对不同的实例添加对应的DAL,这些基本上能满足我们对数据库的基本操作了。

不过我觉得在Java中这样实现也可以啊,我以前就在Java里面写了一个SqlHelper类代替了Hibernate,用的是JdbcOdbc数据库连接,感觉也很实用,简单明了,但是Hibernate在一些性能等方面的优势我们上不容忽视的。

上一页  1 2 3 4 5 

Tags:概括 Hibernate 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接