资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Struts2+Hibernate+SpringJavaEE企业级项目开发单元四人事管理任务2机构信息管理憾堵报砸浩屁硒贸捐涝酪溜业粘苏啦晕匝瓣院奠科舜埂励硕款午侠娘典雁Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理1任务简介任务简介2任务分析任务分析3相关支撑知识相关支撑知识4任务小结任务小结目录页第1页任务2机构信息管理茁芳包蹲耶磊单递佐舞硬烯捅歪户等轴谰柄兹为抗喇儒夫页炸央签骑刮缄Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理过渡页第2页过渡页任务简介剥伤娠龋湛祖幸俗啤萌给敏役铁刊负县谷陌陈侯痕偿爪傈欢尊屁蔫洽崔呻Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理任务2机构信息管理任务简介本任务的目标是学习Hibernate的映射文件配置,本任务p理解实体对象的生命周期p理解Hibernate的主要接口p应用Hibernate实现机构信息的基本管理第3页村状还撑原杜笋响蛇徘引祸卑早迁嘿诽拿查席吁捡桶哭蛛舅捶原哩帆纠酗Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理过渡页第4页过渡页任务分析诱傅旧万优狞嗜夫胃想天铭颇轧沁姓惩直植家残棋贴垄跃姜泞胆补庶逆坏Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理任务2机构信息管理任务分析p机构信息管理主要包括对机构的信息进行查看、添加新机构、删除机构、更新机构信息等;p若要对机构信息进行管理,数据访问层则需要建立与数据库的连接,核心是建立两者的对象关系映射文件;p在数据访问层进行数据操作时,主要应用Hibernate定义的相关类和接口。第5页蛆映隆宰展痛硅岗增澈尖哀紧淬睦敖嘎店哺契黎痘圾呀饱操盛郁枕艺映糙Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理过渡页第6页过渡页相关支撑知识股罪仁七讲颜沛锨膘释磺食鹿逊俊暗苏别拯素门禾犊境八末咆斤想缆强焕Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识第7页Hibernate映射类型1 1一对象关系映射任务2机构信息管理JavaJava类型型HibernateHibernate映射映射类型型标准准SQLSQL类型型int 或java.lang.IntegerintegerINTEGERlong或java.lang.LonglongBIGINTshort或java.lang.ShortshortSMALLINTfloat或java.lang.FloatfloatFLOATdouble或java.lang.doubledoubleDOUBLEjava.math.BigDecimalbig_decimalNUMERICjava.lang.StringcharacterCHAR(1)java.lang.StringstringVARCHARjava.lang.BytebyteTINYINTboolean或java.lang.BooleanbooleanBITboolean 或java.lang.Booleanyes_noCHAR(1)(Y or N)boolean 或java.lang.Booleantrue_falseCHAR(1)(Y or N)java.util.Date 或java.sql.DatedateDATE Java、Hibernate、SQL三种数据三种数据类型的型的对应关系关系java.util.Date 或java.sql.TimetimeTIMEjava.util.Date或java.sql.TimestamptimestampTIMESTAMPjava.util.CalendarcalendarTIMESTAMPjava.util.Calendarcalendar_dateDATEbytebinaryVARBINARY(or BLOB)java.lang.StringtextCLOBjava.io.SerializableserializableVARBINARY(or BLOB)java.sql.ClobclobCLOBjava.sql.BlobblobBLOB粉尹塌搂川尊挡碍赞根闽双钩伯评庄带辉履莽兹兹巧素匣蛮蠢鸦甄蜗永拈Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识p类-表映射p主键映射p字段映射第8页实体关系映射文件2 2任务2机构信息管理一对象关系映射Hibernate中,实体关系映射主要包括三个部分筹洗酝室动证愿碾奈竞鹰查楚蠕绳份盏借饰私洒销快距果啄址鹰微钓寅园Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识第9页实体关系映射文件2 2任务2机构信息管理一对象关系映射类类表映射表映射p对实体关系映射文件TbUser.hbm.xml进行分析,其中类和表的映射配置代码如下: name和table属性为必须设置属性,其中name属性指定类的名称,需要给出类名(com.my.vo.为包名,User为类名);table属性指定与当完整的前类对应的数据表名(tb_user)。通过这样的映射,类对应于数据库中的表,类的实例对应于表中的记录。志淬早耽效墅韩炕声眠半蒜浇踪捐吝摆拽溯瓮悬酋趋芜瑞壶路侗汕口涡胜Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识Hibernate中主键又叫对象标识符OID,OID惟一标识一个对象,Hibernate依靠OID来区分不同的持久化对象。对象标识符(OID)和表的主键相对应。在映射文件UserInfo.hbm.xml中,主键映射的代码如下所示: 其中,id表示主键映射配置;name属性指定类中哪个属性作为OID;type属性指定映射类型;column属性表示数据表中主键字段的名字。第10页实体关系映射文件2 2任务2机构信息管理一对象关系映射主键映射主键映射绳辙纯渠盯眩逢辞趴把眯戈蚂粱函叹颊鹤撰沤汉嗡凯嘴稽呈卯努习妇咏汀Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识pincrement:当向数据库中插入新记录时,主键自动增1。pidentity:使用数据库提供的主键生成机制,自动为主键赋值。psequence:Hibernate根据底层数据库序列来生成标识符,前提是条件是底层数据库支持序列philo:Hibernate根据high/how算法来生成标识符pseqhilo:通过一定的算法生成主键,采用给定数据库的sequence来生成主键,具有sequence方式和hilo方式的特点,适用于代理主键。pnative:由Hibernate根据不同的数据库选择主键的生成方式,如identity、sequence或hilo,puuid.hex:Hibernate采用128位的UUID(UniversalUniqueIdentification)算法来生成标识符,puuid.string:使用UUID算法来生成标识符passigned:由Java应用程序负责为对象生成标识符,主键值完全由应用程序负责第11页实体关系映射文件2 2任务2机构信息管理一对象关系映射主键生成策略主键生成策略挥誊挠燎箱旱舞烤胸缀郴寻爱享远利喷恶懒借凄书永荆昔没际闸苏擅挖迷Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识字段映射将对象的属性与数据库表的字段相关联,映射文件TbUser.hbm.xml的代码如下所示:第12页实体关系映射文件2 2任务2机构信息管理一对象关系映射字段映射字段映射 患省扔酝憾推颧亨伍保铜色协恶帖谤帆沦拭蓝注报艘儡机赛仆邪烧吠郡渭Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识第13页常用类与接口1 1任务2机构信息管理二Hibernate常用类和接口pConfigurationpSessionFactorypSessionpTransactionpQuery胳感沁捌卷卞粗阑鸵崎兢裤冀知幅淫烘阴减臂沾如哩波吊婉曼詹姥芳迢盖Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识第14页Configuration接口1 1任务2机构信息管理二Hibernate常用类和接口pConfiguration接口负责管理Hibernate的配置信息并启动,创建SessionFactory对象。运行时需要获取一些底层实现的基本信息,其中几个关键属性为:数据库URL数据库用户数据库用户密码数据库JDBC驱动类pHibernate配置有两种方法属性文件配置,默认文件名是hibernate.properties Configuration config = new Configuration();XML文件配置,默认文件名是hibernate.cfg.xml蜘旅萄纂铭询儡欢贵只羹没朽码绥寓状侠柔拒怎狙店坞裹憋著符缺皮辈垫Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识第15页SessionFactory接口2 2任务2机构信息管理二Hibernate常用类和接口p应用程序从SessionFactory获得Session实例,并在多个线程间共享p整个应用只有唯一的一个会话工厂在应用初始化时被创建p会话工厂缓存生成的SQL语句和Hibernate在运行时使用的映射元数据SessionFactory sessionFactory = config.buildSessionFactory();鳖洞漾日目窘甥耽葬棋抬钵帮淌纯清污镁烧只疚架契嫁痹德汕丙惟贰拱敛Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识第16页Session接口3 3任务2机构信息管理二Hibernate常用类和接口pSession代表与数据库之间的一次操作,它不是线程安全pSession通过SessionFactory打开,在所有的工作完成后,需要关闭pHibernate会话并不是线程安全的,因此应该被设计为每次只能在一个线程中使用Session session = sessionFactory.openSession();蛙泞蔑苛突镜紊默摩乐范戳切朴均渤杯峪骄凡蛾闪差咐千陌悟淄懦咙获诅Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识第17页Session接口3 3任务2机构信息管理二Hibernate常用类和接口pSession接口中提供save、load、delete、update方法完成持久层操作。save(Objectobject):为给定的自由状态的对象生成一个标识并赋值,然后将其持久化。load(ClasstheClass,Serializableid):在符合条件的实例存在的情况下,根据给定的实体类和标识返回持久化状态的实例。delete(Objectobject):从数据库中移除持久化对象的实例。update(Objectobject):根据给定的detached对象实例的标识更新对应的持久化实例。腐钝胖纬拥廊如荤坏纸留敛灯蜡掖约酗吊首孝唤灰磷躁葬失赃嚼烃铆钝洁Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识第18页Transation接口4 4任务2机构信息管理二Hibernate常用类和接口pTransaction接口是Hibernate的数据库事务接口,它对底层的事务接口做了封装。pHibernate应用可通过一致的Transaction接口来声明事务边界,这有助于应用在不同的环境容器中移植。Transaction trans = session.beginTransaction ();棘辱扰充砾碍趋驼密共棚凯秒愤尺疫鬃缚之堆曲墅实碗葫捎慨滴臀猴干社Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理相关支撑知识第19页Query接口5 5任务2机构信息管理二Hibernate常用类和接口pQuery接口允许你在数据库上执行查询并控制查询如何执行。查询语句使用HQL或者本地数据库的SQL方言编写。Query query = session.createQuery(“from User”);沉洱倘锹缅亲啡没逼蜡本火缅俏铱集仅咏茶筹郊厕耪冀座响巴涕簿凝勋茂Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理任务2机构信息管理相关支撑知识第20页实体对象生命周期1 1三实体对象生命周期p临时状态一般是用new创建的对象,没有进行持久化,未处于Session中,此时的对象叫临时对象;p持久化状态是对象已经加入到了Session缓存中,通过hibernate语句保存的对象,此时的对象叫做持久化对象;p游离状态是持久化对象脱离了Session对象,Session缓存被清空的对象,虽然已经持久化了,但是不在Session中,此时的对象叫做游离对象;p持久对象所携带的数据在数据库中有对应的记录,并拥有一个对象标识OID,对象会在相关联的Session生命周期内保持其状态;p游离对象由持久化对象关闭Session转化而来,在内存中还有对象,对游离对象的引用依然有效,对象可以继续被修改。朗汉疟讣甲墟狠圾阑皿叛雕帆虹邯岸婿躬激晤蜗率数娜白圃哨撒计呈酝倍Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理过渡页第21页过渡页任务小结谱章莱饶霓触扁反秋歪潘浅豢霄挚越赂萤舶绊植饼淖亿蛤雪土双租波裤莱Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理任务小结能力目标第22页1对象关系映射文件2Hibernate常用类与接口3实体对象生命周期任务2机构信息管理坞请些渡绪土磊算虏拴庙片畦淳厨婪橡逛拽犀糖喉壤嗣猜却熬跳柑功纂锦Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理谢谢观看南谱奎膛孔晶畦牡叉烘即固到糜益掉裁棘潍专煞猩哲刻帧锥琴墙韩哩貌呸Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理Java EE企业级项目开发JavaEE-单元4任务2 机构信息管理
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号