guokehua(@yahoo.com.cn oy Java 1010 16 Hibernate基木AP 2008-3-10 郭克华EE框架实战教学视频
2008-3-10 1 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 16Hibernate 16Hibernate基本API
guokehua(@yahoo.com.cn oy Java 问题的提出 在某些大型应用场合,我们要对数据库中的记录进行 些操作,如 insert; delete; update, select等等。这些功能可 能在JSP里面实现,或者在Dao里面实现,这样,开发 人员必须懂得数据库的复杂操作;但这些开发人员注 重的是业务逻辑和页面表示,在不想写数据库操作代 码的情况下怎样进行数据库的操作? 评价一下 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 2 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 问题的提出 在某些大型应用场合,我们要对数据库中的记录进行一 在某些大型应用场合,我们要对数据库中的记录进行一 些操作,如insert,delete,update,select insert,delete,update,select等等。这些功能可 等等。这些功能可 能在JSP里面实现,或者在 里面实现,或者在Dao里面实现,这样,开发 里面实现,这样,开发 人员必须懂得数据库的复杂操作;但这些开发人员注 人员必须懂得数据库的复杂操作;但这些开发人员注 重的是业务逻辑和页面表示,在不想写数据库操作代 重的是业务逻辑和页面表示,在不想写数据库操作代 码的情况下怎样进行数据库的操作? 码的情况下怎样进行数据库的操作? 评价一下
guokehua(@yahoo.com.cn oy Java Struts Dao 1010 Action传递过来主键 //Dao public Customer getCustomer(String id)i ∥组织SQL 另一个类:专门负责组织SQL,表名和列名在配置文件内注册,将表 名对应到 Customer类,列名对应到 Customer内的属性,让数据库 对Dao的开发人员来说是透明的 两个配置文件:负责数据库连接;负责对象和关系的映射(ORM) 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 3 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 Struts Dao Action传递过来主键 //Dao public Customer getCustomer(String id){ //组织SQL } 另一个类:专门负责组织SQL,表名和列名在配置文件内注册,将表 名对应到Customer类,列名对应到Customer内的属性,让数据库 对Dao的开发人员来说是透明的 两个配置文件:负责数据库连接;负责对象和关系的映射(ORM)
guokehua(@yahoo.com.cn oy Java 最直观的方法是将数据库中的一条记录看 作一个对象,对这个对象的操作就直接 1010 影响到数据库内部。在JSP或者 struts里 面,DaO访问这个对象就可以了。这个对 象最好还具有事务管理,安全管理等特 性,比如能够很好处理两个不同客户对 1同一记录的修改 008-3-10 郭克华J2E框架实战教学视频
2008-3-10 4 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 最直观的方法是将数据库中的一条记录看 最直观的方法是将数据库中的一条记录看 作一个对象,对这个对象的操作就直接 作一个对象,对这个对象的操作就直接 影响到数据库内部。在 影响到数据库内部。在JSP或者struts里 面,Dao访问这个对象就可以了。这个对 访问这个对象就可以了。这个对 象最好还具有事务管理,安全管理等特 象最好还具有事务管理,安全管理等特 性,比如能够很好处理两个不同客户对 性,比如能够很好处理两个不同客户对 同一记录的修改。 同一记录的修改
表格 aluokehualovahoo. com. cn Bean:含有一些Java方法, DAO,java 支持: 增,删,改,査 000111张三201000 00011111张三20 1000 Acc Pass CNa Age Bala ount word me ne 郭克华J2E框架实战教学视频
2008-3-10 5 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 0001 1111 张三 20 1000 0001 1111 张三 20 1000 Acc ount Pass word CNa me Age Bala nce Bean:含有一些Java方法, 支持: 增,删,改,查 表格 DAO.java
guokehua(@yahoo.com.cn 了y持久化层- O/R Mapping 」基于BS的典型三层架构 1010 展现层( Presentation 业务逻辑层 如何分层? Layer) (Buseness Layer) 业务逻辑层和持久化 Web Work/Struts< loC Spring loc Hibernate 层绝不要依赖于展现层。 口使用假设法测试。 Action. Form Bean,配 loC容器 映射文件 AOP, Hibernate的支 Hibernate接 例子:1、一个显示课程 置文件,模板页面 持,事务管理 DAO模式 考试分数的列表。现在 要将不及格的分数用红 Domain Model Business Objects 色字体显示(低于60 分)。 搜索。 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 6 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 持久化层-O/R Mapping O/R Mapping 基于B/S的典型三层架构 的典型三层架构 如何分层? 业务逻辑层和持久化 层绝不要依赖于展现层。 使用假设法测试。 例子:1、一个显示课程 考试分数的列表。现在 要将不及格的分数用红 色字体显示(低于60 分)。 2、搜索
guokehua(@yahoo.com.cn 儿个结论 Bean一般表示数据表中的一条记录,只是 对这个记录的操作可以简化成对这个Bean 对象的操作,操作之后数据库中的记录相应 变化 ω·必须提供一些能够对这些对象进行操作的函 数B查 ean能够通过函数提供对数据库的增删改 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 7 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 几个结论 • Bean一般表示数据表中的 一般表示数据表中的一条记录,只是 对这个记录的操作可以简化成对这个 对这个记录的操作可以简化成对这个Bean 对象的操作,操作之后数据库中的记录相应 对象的操作,操作之后数据库中的记录相应 变化 • 必须提供一些能够对这些对象进行操作的 必须提供一些能够对这些对象进行操作的函 数 • Bean能够通过函数提供对数据库的增删改 能够通过函数提供对数据库的增删改 查
guokehua(@yahoo.com.cn 了y作业 oy Java! 」·建立一个银行顾客 表: T CUSTOMER( ACCOUNT,P ASSWORD, CNAME, CBALANCE) 用 Hibernate来包装它操 作 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 8 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 作业 •建立一个银行顾客 建立一个银行顾客 表:T_CUSTOMER T_CUSTOMER(ACCOUNT,P ACCOUNT,P ASSWORD,CNAME,CBALANCE) ASSWORD,CNAME,CBALANCE) •用Hibernate Hibernate来包装它,操 作
guokehua(@yahoo.com.cn 3 Yo Hibernate基本功能 ·懂得区别不同的 Hibernate对象,因为不同的 Hibernate对象里面封装了不同的记录。 ·懂得通过新实例化一个 Hibernate在数据 库里面添加一条记录 ·懂得通过删除或清空一个 Hibernate对象里 面的数据来删除一条数据库记录 懂得通过将一个 Hibernate对象修改某个成 员变量来修改数据库记录 懂得根据某个条件査询,来返回一条或多 条记录,而这些记录都是不同的 Hibernate 对象 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 9 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 Hibernate Hibernate基本功能 • 懂得区别不同的 懂得区别不同的Hibernate Hibernate对象,因为不同的 Hibernate Hibernate对象里面封装了不同的记录。 对象里面封装了不同的记录。 • 懂得通过新实例化一个 懂得通过新实例化一个Hibernate Hibernate来在数据 库里面添加一条记录 库里面添加一条记录 • 懂得通过删除或清空一个 懂得通过删除或清空一个Hibernate Hibernate对象里 面的数据来删除一条数据库记录 面的数据来删除一条数据库记录 • 懂得通过将一个 懂得通过将一个Hibernate Hibernate对象修改某个成 对象修改某个成 员变量来修改数据库记录 员变量来修改数据库记录 • 懂得根据某个条件查询,来返回一条或多 懂得根据某个条件查询,来返回一条或多 条记录,而这些记录都是不同的 条记录,而这些记录都是不同的Hibernate Hibernate 对象
guokehua(@yahoo.com.cn oy Java 基本要求 ·有一个 Javabean(持久化ava类)为了 装表里面的纪录 ·确定连接到哪一种数据库 d·将这个 JavaBean和数据库中的表 对应 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 10 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 基本要求 • 有一个JavaBean JavaBean(持久化java类),为了 装表里面的纪录 装表里面的纪录 • 确定连接到哪一种数据库 确定连接到哪一种数据库 • 将这个JavaBean JavaBean和数据库中的表一一 和数据库中的表一一 对应