- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate 培训 预备知识 至少熟悉: Java基础编程 JDBC 一个IDE工具(Eclipse) 一个关系型数据库(SQLServer/Mysql) 最好了解: JSP/Servlet编程 一个支持JSP/Servlet 的Web服务器(如Tomcat) Struts基本原理 问题的提出: 一个虚拟案例 一个简易员工管理系统,要求: 管理员工信息:添加、编辑、删除。 检索员工信息: 列表 问题的提出: 回顾传统的开发过程 Model类 DB SWING JDBC JSP OR 通常我们总是会对应数据库中的User表建立相应的User类,然后根据商业逻辑需要读取合适的用户集合或者写入用户到数据库中。上面的类结构就反映了这种模式。 Console OR 问题的提出: 用上面的案例抽象出几个概念 实体类:User类作为DB中user表记录的载体,仅仅有简单的get/set(),我们通常称之为实体类 持久化: UserModel.insert()是一个向数据写入数据的动作,我们称之为“持久化”(本质上,DB是硬盘上的文件,断电后可保持,谓持久) 持久层: Model作为领域模型,其持久化操作部分都可以称为持久层,连同实体类一起构成持久层。 问题的提出: 上述开发模式在大规模系统开发时遭遇瓶颈 对于一个大规模的数据库系统,我们不得不花大力气手工维护每个表的字段和实体类的属性对应关系 典型情况下,每个数据库表都蕴含着增删改查(CRUD)四个持久化操作,所以我们应该总是实现前面案例中类似UserModel.insert()这样的操作。因此数据库每次修正、新增表结构,我们还需要都需要手工维护这些用于持久化的类,保证其持久化方法的正确性。 解决方案: Hibernate来了,就这么简单 提供一个工具,自动化同步实体类和数据表的对应。 自动支持增删改查等持久化方法 ORM(Object Relationship Mapping): 我们称Hibernate是一个ORM Tool,意为面向对象数据和关系型数据的映射的工具 解决方案: Hibernate来了,更多的好处 包装了JDBC API,包装后的API更加面向对象,使用起来更加自然。 Hibernate甚至提供了一套强大的OOQL(HQL)用于数据查询,让你完全可以放心地抛弃SQL。 从今天你将不必再关注具体存储所用的数据库,用Hibernate开发数据库应用程序可以平滑地移植到各种流行的其他数据库上。 Hibernate 快速起步: 实验流程 ①下载Hibernate.jar及相关依赖包,导入项目工程 ② 把JDBC驱动程序加入到类路径中 ③.在类根路径下生成hibernate配置文件(hibernate.cfg.xml) 1.关联JDBC参数 ⑥写一个测试类调用Hibernate API访问数据库 定义数据结构SQL 产生实体类(Java) 产生实体类配置文件(.hbm) ④ ⑤继续编辑hibernate配置文件(hibernate.cfg.xml) 2.关联实体类配置文件 Hibernate 快速起步: ③ ⑤ hibernate.cfg.xml hibernate-configuration session-factory !– 数据库连接配置,这里用mysql为例 -- property name=dialectnet.sf.hibernate.dialect.MySQLDialect/property property name=connection.driver_classorg.gjt.mm.mysql.Driver/property property name=connection.urljdbc:mysql://localhost:3306/training/property property name=connection.usernameroot/property property name=connection.password / !--property name=hibernate.hbm2ddl.autoupdate/property-- !– 映射文件-- mapping resource=model/User.hbm.xml/ /session-factory /hibernate-configuration 学习hibernate的”大管家”配置文件: hibernate.cfg.xml Hibernate 快速起步: ④ 运用MiddleGen根据SQL语句生成实体类和相应配置文件 .hbm.xml .java CodeGenerator Hibernate 快速起步: ⑥ 如何通过Hibernate访问数
文档评论(0)