收藏 分享(赏)

郭克华J2EE框架实战教学课件_16Hibernate基本API.pdf

上传人:精品资料 文档编号:10215640 上传时间:2019-10-21 格式:PDF 页数:18 大小:455.10KB
下载 相关 举报
郭克华J2EE框架实战教学课件_16Hibernate基本API.pdf_第1页
第1页 / 共18页
郭克华J2EE框架实战教学课件_16Hibernate基本API.pdf_第2页
第2页 / 共18页
郭克华J2EE框架实战教学课件_16Hibernate基本API.pdf_第3页
第3页 / 共18页
郭克华J2EE框架实战教学课件_16Hibernate基本API.pdf_第4页
第4页 / 共18页
郭克华J2EE框架实战教学课件_16Hibernate基本API.pdf_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、2008-3-10 1oy Java!J郭克华J2EE框架实战教学视频16Hibernate基本基本API2008-3-10 2oy Java!J郭克华J2EE框架实战教学视频问题的提出问题的提出在某些大型应用场合,我们要对数据库中的记录进行一在某些大型应用场合,我们要对数据库中的记录进行一些操作,如些操作,如insert,delete,update,select等等。这些功能可等等。这些功能可能在能在JSP里面实现,或者在里面实现,或者在Dao里面实现,这样,开发里面实现,这样,开发人员必须懂得数据库的复杂操作;但这些开发人员注人员必须懂得数据库的复杂操作;但这些开发人员注重的是业务逻辑和页

2、面表示,在不想写数据库操作代重的是业务逻辑和页面表示,在不想写数据库操作代码的情况下怎样进行数据库的操作?码的情况下怎样进行数据库的操作?评价一下评价一下2008-3-10 3oy Java!J郭克华J2EE框架实战教学视频Struts DaoAction传递过来主键/Daopublic Customer getCustomer(String id)/组织 SQL另一个类 :专门负责组织SQL,表名和列名在配置文件内注册,将表名对应到 Customer类,列名对应到 Customer内的属性,让数据库对 Dao的开发人员来说是透明的两个配置文件:负责数据库连接;负责对象和关系的映射 (ORM)

3、2008-3-10 4oy Java!J郭克华J2EE框架实战教学视频最直观的方法是将数据库中的一条记录看最直观的方法是将数据库中的一条记录看作一个对象,对这个对象的操作就直接作一个对象,对这个对象的操作就直接影响到数据库内部。在影响到数据库内部。在JSP或者或者struts里里面面,Dao访问这个对象就可以了。这个对访问这个对象就可以了。这个对象最好还具有事务管理,安全管理等特象最好还具有事务管理,安全管理等特性,比如能够很好处理两个不同客户对性,比如能够很好处理两个不同客户对同一记录的修改。同一记录的修改。2008-3-10 5oy Java!J郭克华J2EE框架实战教学视频0001 11

4、11 张三 20 10000001 1111张三张三20 1000AccountPasswordCNameAge BalanceBean:含有一些 Java方法,支持:增,删,改,查表格DAO.java2008-3-10 6oy Java!J郭克华J2EE框架实战教学视频持久化层持久化层O/R Mapping基于基于B/S的典型三层架构的典型三层架构如何分层?业务逻辑层和持久化层绝不要依赖于展现层。使用假设法测试。例子: 1、一个显示课程考试分数的列表。现在要将不及格的分数用红色字体显示(低于60分)。2、搜索。2008-3-10 7oy Java!J郭克华J2EE框架实战教学视频几个结论几个

5、结论 Bean一般表示数据表中的一般表示数据表中的一条一条记录,只是记录,只是对这个记录的操作可以简化成对这个对这个记录的操作可以简化成对这个Bean对象的操作,操作之后数据库中的记录相应对象的操作,操作之后数据库中的记录相应变化变化 必须提供一些能够对这些对象进行操作的必须提供一些能够对这些对象进行操作的函函数数 Bean能够通过函数提供对数据库的增删改能够通过函数提供对数据库的增删改查查2008-3-10 8oy Java!J郭克华J2EE框架实战教学视频作业作业建立一个银行顾客建立一个银行顾客表表:T_CUSTOMER(ACCOUNT,PASSWORD,CNAME,CBALANCE)用用

6、Hibernate来包装它来包装它,操操作作2008-3-10 9oy Java!J郭克华J2EE框架实战教学视频Hibernate基本功能基本功能 懂得区别不同的懂得区别不同的Hibernate对象对象,因为不同的因为不同的Hibernate对象里面封装了不同的记录。对象里面封装了不同的记录。 懂得通过新实例化一个懂得通过新实例化一个Hibernate来在数据来在数据库里面添加一条记录库里面添加一条记录 懂得通过删除或清空一个懂得通过删除或清空一个Hibernate对象里对象里面的数据来删除一条数据库记录面的数据来删除一条数据库记录 懂得通过将一个懂得通过将一个Hibernate对象修改某个

7、成对象修改某个成员变量来修改数据库记录员变量来修改数据库记录 懂得根据某个条件查询,来返回一条或多懂得根据某个条件查询,来返回一条或多条记录,而这些记录都是不同的条记录,而这些记录都是不同的Hibernate对象对象2008-3-10 10oy Java!J郭克华J2EE框架实战教学视频基本要求基本要求 有一个有一个JavaBean(持久化持久化java类类),为了为了装表里面的纪录装表里面的纪录 确定连接到哪一种数据库确定连接到哪一种数据库 将这个将这个JavaBean和数据库中的表一一和数据库中的表一一对应对应2008-3-10 11oy Java!J郭克华J2EE框架实战教学视频持久化持

8、久化Java类必须遵循的原则类必须遵循的原则为类的持久化类字段申明访问方法(为类的持久化类字段申明访问方法(get/set)。)。Hibernate对对JavaBeans风格的属性实行持久化。风格的属性实行持久化。实现一个默认的构造方法(实现一个默认的构造方法(constructor)。)。这样这样的话的话Hibernate就可以使用就可以使用Constructor.newInstance()来实例化它们。来实例化它们。 针对针对Customer表格里面的每个属性表格里面的每个属性编写类似于编写类似于JavaBean的的类类:Customer.java2008-3-10 12oy Java!J

9、郭克华J2EE框架实战教学视频持久化类和关系数据库的映射持久化类和关系数据库的映射2008-3-10 13oy Java!J郭克华J2EE框架实战教学视频建立建立Customer.hbm.xml, 添加以下语句添加以下语句2008-3-10 14oy Java!J郭克华J2EE框架实战教学视频建立建立hibernate.cfg.xml,添加以下语句添加以下语句org.hibernate.dialect.Oracle9Dialectjdbc:oracle:thin:localhost:1521:XXXXXXXXXoracle.jdbc.driver.OracleDriver2008-3-10 1

10、5oy Java!J郭克华J2EE框架实战教学视频查询一个查询一个SessionFactory sf = newConfiguration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tx = session.beginTransaction();Customer c1 = new Customer();session.load(c1, “123“);System.out.println(c1.getPassword();mit();session.close();2008

11、-3-10 16oy Java!J郭克华J2EE框架实战教学视频删除删除SessionFactory sf = newConfiguration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tx = session.beginTransaction();Customer c1 = new Customer();c1.setAccount(“34“);session.delete(c1);mit();session.close();2008-3-10 17oy Java!J郭

12、克华J2EE框架实战教学视频修改或保存修改或保存SessionFactory sf = newConfiguration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tx = session.beginTransaction();Customer c1 = new Customer();c1.setAccount(“78“);c1.setPassword(“222“);c1.setCname(“22“);c1.setBalance(2000);session.saveOrU

13、pdate(c1);mit();session.close();注意区别注意区别 update和和 saveOrUpdate()2008-3-10 18oy Java!J郭克华J2EE框架实战教学视频添加添加SessionFactory sf = new Configuration().configure().buildSessionFactory(); (); Session session = sf.openSession();Transaction tx = session.beginTransaction();Customer c1 = new Customer();/c1的的set函数函数session.save(c1);mit();session.close();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报