• JPA学习(一、JPA_Hello World)


    框架学习之JPA(一)

    JPAJava Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

    Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EEJava SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。

    学习视频:尚硅谷框架jpa学习(有兴趣的同学留言邮箱)

    使用软件:eclipse

    Java版本:jdk8

    本节目录

    一、JPA_hello world

            1.创建一个jpa项目,导入jar

            2.配置persistence.Xml文件

            3.创建一个Customer

            4.Main类进行持久化操作

    一、JPA_hello world

    1.创建一个jpa项目,导入jar

    • Hibernate包
    • Jpa整合包
    • Mysql连接包

    2.配置persistence.Xml文件

    <persistence-unit name="SGG-jpa" transaction-type="RESOURCE_LOCAL">
    
    <!--
    
    配置使用什么 ORM 产品来作为 JPA 的实现
    
    1. 实际上配置的是  javax.persistence.spi.PersistenceProvider 接口的实现类
    
    2. 若 JPA 项目中只有一个 JPA 的实现产品, 则也可以不配置该节点.
    
    -->
    
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    
     
    
    <!-- 添加持久化类 -->
    
    <class>hue.edu.xiong.jpa.Customer</class>
    
     
    
    <properties>
    
    <!-- 连接数据库的基本信息 -->
    
    <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
    
    <property name="javax.persistence.jdbc.url" value="jdbc:mysql:///jpa"/>
    
    <property name="javax.persistence.jdbc.user" value="root"/>
    
    <property name="javax.persistence.jdbc.password" value="admin"/>
    
     
    
    <!-- 配置JPA实现产品的基本属性,配置hibernate -->
    
    <property name="hibernate.format_sql" value="true"/>
    
    <property name="hibernate.show_sql" value="true"/>
    
    <property name="hibernate.hbm2ddl.auto" value="update"/>
    
    </properties>
    
    </persistence-unit>
    

      

    3.创建一个Customer

    package hue.edu.xiong.jpa;
    
     
    
    import javax.persistence.Column;
    
    import javax.persistence.Entity;
    
    import javax.persistence.GeneratedValue;
    
    import javax.persistence.GenerationType;
    
    import javax.persistence.Id;
    
    import javax.persistence.Table;
    
     
    
    @Table(name="JPA_CUSTOMERS")
    
    @Entity
    
    public class Customer {
    
     
    
    @Id
    
    @GeneratedValue(strategy=GenerationType.AUTO)
    
    private Integer id;
    
     
    
    @Column(name="LAST_NAME")
    
    private String lastName;
    
     
    
    private String email;
    
     
    
    private Integer age;
    
    //get,set略,请自行补充
    
    }
    

    4.Main类进行持久化操作

    package hue.edu.xiong.jpa;
    
    import javax.persistence.EntityManager;
    
    import javax.persistence.EntityManagerFactory;
    
    import javax.persistence.EntityTransaction;
    
    import javax.persistence.Persistence;
    
    public class Main {
    
    public static void main(String[] args) {
    
    // 1.创建EntitymanagerFactory
    
    String persistenceUnitName = "SGG-jpa";
    
    EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory(persistenceUnitName);
    
    // 2.创建Entitymanager
    
    EntityManager entityManager = entityManagerFactory.createEntityManager();
    
    // 3.开启事务
    
    EntityTransaction transaction = entityManager.getTransaction();
    
    transaction.begin();
    
    // 4.进行持久化操作
    
    Customer customer = new Customer();
    
    customer.setAge(12);
    
    customer.setEmail("937724308@qq.com");
    
    customer.setLastName("xiong");
    
    entityManager.persist(customer);
    
    // 5.提交事务
    
    transaction.commit();
    
    // 6.关闭Entitymanager
    
    entityManager.close();
    
    // 7.关闭EntitymanageFactory
    
    entityManagerFactory.close();
    
    }
    
    }
    

     

    运行之后自动在mysql中创建了表,储存了数据,并且表结构和名称和我们声明的一样

     

  • 相关阅读:
    配置Mysql远程访问
    mysql Access denied for user root@localhost错误处理备忘
    MsSql判断表是否有自增标识
    .net用NPOI生成Word表格
    TensorFlow-卷积
    Java中int与Integer的区别
    由经纬度坐标得到腾讯地图的瓦片/切片行列号
    vs code上配置Scala
    VMware虚拟机上配置CentOS联网
    使用PuTTy在CentOS下安装web.py与简单的文件传输
  • 原文地址:https://www.cnblogs.com/xzmxddx/p/9279962.html
Copyright © 2020-2023  润新知