传智播客黎活明JPA完整版.ppt

上传人:xt****7 文档编号:5182212 上传时间:2020-01-22 格式:PPT 页数:9 大小:280.81KB
返回 下载 相关 举报
传智播客黎活明JPA完整版.ppt_第1页
第1页 / 共9页
传智播客黎活明JPA完整版.ppt_第2页
第2页 / 共9页
传智播客黎活明JPA完整版.ppt_第3页
第3页 / 共9页
点击查看更多>>
资源描述
北京传智播客教育 JPA开发 讲师 黎活明 北京传智播客教育 什么是JPA JPA JavaPersistenceAPI 是Sun官方提出的Java持久化规范 它为Java开发人员提供了一种对象 关系映射工具来管理Java应用中的关系数据 他的出现主要是为了简化现有的持久化开发工作和整合ORM技术 结束现在Hibernate TopLink等ORM框架各自为营的局面 值得注意的是 JPA是在充分吸收了现有Hibernate TopLink等ORM框架的基础上发展而来的 具有易于使用 伸缩性强等优点 从目前的开发社区的反应上看 JPA受到了极大的支持和赞扬 其中就包括了Spring与EJB3 0的开发团队 着眼未来几年的技术走向 JPA作为ORM领域标准化整合者的目标应该不难实现 北京传智播客教育 什么是JPA JPA的总体思想和现有Hibernate TopLink等ORM框架大体一致 总的来说 JPA包括以下3方面的技术 ORM映射元数据JPA支持XML和JDK5 0注释 也可译作注解 两种元数据的形式 元数据描述对象和表之间的映射关系 框架据此将实体对象持久化到数据库表中 Java持久化API用来操作实体对象 执行CRUD操作 框架在后台替我们完成所有的事情 开发者可以从繁琐的JDBC和SQL代码中解脱出来 查询语言这是持久化操作中很重要的一个方面 通过面向对象而非面向数据库的查询语言查询数据 避免程序的SQL语句紧密耦合 提示 JPA不是一种新的ORM框架 他的出现只是用于规范现有的ORM技术 他不能取代现有的Hibernate TopLink等ORM框架 相反 在采用JPA开发时 我们仍将使用到这些ORM框架 只是此时开发出来的应用不再依赖于某个持久化提供商 应用可以在不修改代码的情况下在任何JPA环境下运行 真正做到低耦合 可扩展的程序设计 北京传智播客教育 开发JPA依赖的jar文件 Hiberante核心包 8个文件 hibernate distribution 3 3 1 GA hibernate3 jarlib bytecode cglib hibernate cglib repack 2 1 3 jarlib required jarHiberante注解包 3个文件 hibernate annotations 3 4 0 GA hibernate annotations jarlib ejb3 persistence jar hibernate commons annotations jarHibernate针对JPA的实现包 3个文件 hibernate entitymanager 3 4 0 GA hibernate entitymanager jarlib test log4j jar slf4j log4j12 jar 北京传智播客教育 JPA的配置文件 JPA规范要求在类路径的META INF目录下放置persistence xml 文件的名称是固定的 配置模版如下 JPA总结 首先 JPA不是ORM框架 而是SUN官方提出的JAVA持久化规范 JPA整合了现有的Hibernate TopLink等ORM框架 具有易于使用 伸缩性强等优点 下面我们就来学习关于JPA的知识 1 JPA规范要求在类路径的META INF目录下放置persistence xml 文件的名称是固定的 配置模版可见hibernate entitymanager开发包2 JPAORM映射元素数据有XML和注解两种方式 这里我们学习基于注解的方式 那么我们来谈谈JPA有哪些常用的注解1 在实体bean中用注解 Entity来指定实体以让jpa知道生成数据库中的表2 在实体bean中用注解 Column length nullable name 指定数据库中的表的字段的长度 是否为空即字段的名字3 在实体类的前面用注解 Table name xx 指定生成表的名字 JPA总结 4 在实体类中用注解 Temporal TemporalType Date 指定生日的时间类型5 Enumerated EmumType STRING 保存到数据库中是索引还是字符串 注解指定枚举类型6 Lob声明属性对应的数据库字段为大文本类型 可以存放大的数据 文本和字节 7 Transient不成为持久化字段及不跟数据库中的字段形成映射8 Basic fetch FetchType LAZY 是否把数据装载到内存中延迟初始化 第一次访问的时候在加载数据 一般用在大数据存放9 Embeddable指定联合组键 JPA总结 3 JPA的增删改查 1 读取数据不要开启事务 只要有更改数据的动作才需要开启事务2 增加数据 em persist newPerson 老黎 插入3 删除数据 em remove person 删除 注意有外键约束时 需要先解除外键约束才能删除 4 更新数据 方法一 Personperson em find Person class 1 person setName 老黎 1 跟事务关联在一起了 2 对象处于托管状态方法二 Personperson em find Person class 1 em clear 把试题管理器中的所有实体变成游离状态person setName 老黎 现在还是不可以 实体还是处于游离状态em merge person 把游离状态中的实体bean同步到数据库 JPA总结 5 查看数据 方法一 Personperson em find Person class 1 查看数据 1为对象在数据库中的id值方法二 Personperson em getReference Person class 1 没有值不出现异常 只person getName 的时候报异常em refresh person 进行数据库刷新 拿出最新的数据4 JPA中四种数据库状态 1 新建 刚new出对象来的时候 2 托管 从数据库中查出来的时候 3 游离 即脱管 4 删除5 JPA的查询语句 Queryquery em createQuery selectofromPersono 必须有selecto id 等于后面不要直接写值以免sql注入 1 匿名查询用 id 2 未参数查询 1即 whereo id 1 指明 的值从索引1开始query getSingleResult
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!