我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JPA 深度刘宝宝剖析版

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JPA 深度刘宝宝剖析版

刘宝宝讲解开始了。。。。。

第一讲 JPA介绍

JPA

1.JPA的概念:
    Java Persistence API:用于对象持久化的 API
    Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层

2.JPA和hibernate的关系
    从功能上来说, JPA 是 Hibernate 功能的一个子集

3.JPA的优势:
    标准化:  提供相同的 API,这保证了基于JPA 开发的企业应用能够经过少量的修改就能够在不同的 JPA 框架下运行。
    简单易用,集成方便:  JPA 的主要目标之一就是提供更加简单的编程模型,在 JPA 框架下创建实体和创建 Java  类一样简单,只需要使用 javax.persistence.Entity 进行注释;JPA 的框架和接口也都非常简单,
    可媲美JDBC的查询能力:  JPA的查询语言是面向对象的,JPA定义了独特的JPQL,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。
    支持面向对象的高级特性: JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,最大限度的使用面向对象的模型
    
4.JPA 包括 3方面的技术
    ORM  映射元数据:JPA 支持 XML 和  JDK 5.0 注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。  
    JPA 的 API:用来操作实体对象,执行CRUD操作,框架在后台完成所有的事情,开发者从繁琐的 JDBC和 SQL代码中解脱出来。  
    查询语言(JPQL):这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序和具体的  SQL 紧密耦合。
        

1.persistence.xml 文件是固定的
2.当spring和hibernate整合的时候,这个persistence.xml就可以不要了,也可以放着

3.persistence.xml
    <persistence-unit name="jpa-1" transaction-type="RESOURCE_LOCAL">
        
        <!--
        配置什么ORM产品 来作为  JPA的实现
        1.实际上配置的是 javax.persistence.spi.PersistenceProvider这个接口的实现类
        2.当JPA中只有一个JPA项目,可以选择配置该节点,也可以选择不配置该节点
         -->
        <!-- provider:提供者 -->
        <!-- 打开OpenType的快捷键Ctrl+Shift+t ,找到HibernatePersistence.class -->
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        
        <!-- 添加持久化类 -->
        <class>com.baidu.jpa.helloworld.Customer</class>
        
        <properties>
            <!-- 连接数据库的基本信息-->
            <property name="javax.persistence.jdbc.driver" value="com.MySQL.jdbc.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpa"/>
            <property name="javax.persistence.jdbc.user" value="root"/>
            <property name="javax.persistence.jdbc.password" value="root"/>
            <!-- 配置JPA 实现产品的基本属性/配置hibernate的基本属性 -->
            
            <!-- 格式化sql -->
            <property name="hibernate.format_sql" value="true"/>
            <!-- 在控制台自动显示sql -->
            <property name="hibernate.show_sql" value="true"/>
            <!-- 生成数据表格策略 -->
            <property name="hibernate.hbm2ddl.auto" value="update"/>
        </properties>
    </persistence-unit>
    

第二讲 JPA工程创建步骤

1.创建数据库名
2.创建一个jpa project  选择2.0
3.创建一个lib文件  add Build Path
    antlr-2.7.7.jar
    dom4j-1.6.1.jar
    ehcache-core-2.4.3.jar
    hibernate-commons-annotations-4.0.2.Final.jar
    hibernate-core-4.2.4.Final.jar
    hibernate-ehcache-4.2.4.Final.jar
    hibernate-entitymanager-4.2.4.Final.jar
    hibernate-jpa-2.0-api-1.0.1.Final.jar
    javassist-3.15.0-GA.jar
    jboss-logging-3.1.0.GA.jar
    jboss-transaction-api_1.1_spec-1.0.1.Final.jar
    mysql-connector-java-5.1.7-bin.jar
    slf4j-api-1.6.1.jar
4. persistence.xml  
    
            <!-- 连接数据库的基本信息-->
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpa"/>
            <property name="javax.persistence.jdbc.user" value="root"/>
            <property name="javax.persistence.jdbc.password" value="root"/>

            <!-- 配置JPA 实现产品的基本属性/配置hibernate的基本属性 -->
            
            <!-- 格式化sql -->
            <property name="hibernate.format_sql" value="true"/>
            <!-- 在控制台自动显示sql -->
            <property name="hibernate.show_sql" value="true"/>
            <!-- 生成数据表格策略 -->
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            
5.创建包名com.baidu.jpa
    
    创建持久化类 、实体类
    
    @Entity
    @Table(name="表名")
    
    @Id
    @@GeneratedValue(strategy=GenerationType.AUTO)
        
6.去配置文件,添加持久化类
    <!-- 添加持久化类 -->
        <class>com.baidu.jpa.helloworld.Customer</class>    
        
7.创建一个main方法类

        //1.创建 EntitymanagerFactory
        //persistenceUnitName 持久化单元名字
        String persistenceUnitName = "jpa-1";
        EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceUnitName);
        
        //2.创建 EntityManager
        
        EntityManager em = emf.createEntityManager();
        
        //3.开启事务
        
        EntityTransaction et = em.getTransaction();
        et.begin();
        //4.进行持久化操作
        
        Customer c = new Customer();
        c.setAge(12);
        c.setEmail("123@qq.com");
        c.setLastName("张三");
        
        em.persist(c); //保存
        
        //5.提交事务
        
        et.commit();
        
        //6.关闭EntityManager
        
        em.close();
        
        //7.关闭EntityManagerFactory
        
        emf.close();
           



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JPA 深度刘宝宝剖析版

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

数据库设计界的法宝:数据库设计工具深度剖析
2024-03-10

阿里云服务器能开淘宝吗?深度解析

本文主要探讨阿里云服务器是否可以用来开淘宝店。在当今电子商务环境下,淘宝店已成为很多商家的重要营销平台,而阿里云服务器作为目前市场上最主流的云计算服务之一,已经成为了很多企业的首选。本文将从阿里云服务器的基础知识、应用环境、性能优势等多个角度,详细解析阿里云服务器是否适合用来开淘宝店。正文:阿里云服务器作为阿里集
阿里云服务器能开淘宝吗?深度解析
2023-11-05

深度剖析Java Git:揭秘版本控制的奥秘

Java Git是一个流行的版本控制系统,它使开发人员能够协作工作并跟踪代码更改。本文将深入探讨Java Git,揭示其背后的奥秘,并提供一些实用技巧和代码示例,帮助开发人员充分利用Java Git的强大功能。
深度剖析Java Git:揭秘版本控制的奥秘
2024-02-22

深入剖析ASP Windows事件日志:解决应用程序难题的宝藏

ASP Windows事件日志是应用程序故障排除和性能调优的宝贵资源。它包含了应用程序运行时发生的事件的详细记录,包括错误、警告和信息。通过分析这些事件,可以快速定位问题并找到解决方案。
深入剖析ASP Windows事件日志:解决应用程序难题的宝藏
2024-02-10

编程热搜

目录