JPA学习01

滴水穿石

新建一个 JPA project , version选择2.0

 设置JPA的连接方式:

JTA 是默认的连接方式,支持分布式连接,这里使用本地连接即可

配置连接:

这里是对应的

    <!-- 配置使用什么ORM产品作为JPA的实现 
            1.实际上配置的是 javax.persistence.spi.PersistenceProvider 接口的实现类
            2.若 JPA 项目中只有一个JPA的实现产品,则也可以不配置该节点
        -->
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <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="root" />

            <!-- 配置JPA实现产品的基本属性 (这里使用Hibernate) -->
            <property name="hibenate.format_sql" value="true" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.hbm2ddl.auto" value="update" />

        </properties>

在持久化类的时候,要将持久化类添加到配置文件中

<!-- 添加持久化类 -->
        <class>com.cfb.learn.test.Customer</class>
@Table(name="JPA_CUSTOMER")
@Entity
public class Customer {

    private Integer id;
    
    private String name;
    
    private String email;
    
    private Integer age;
    
    
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Id
    public Integer getId() {
        return id;
    }

这里要注意的是

1.实体类要持久化在配置文件中

2.使用 @Entity 注解必须要指定 @Id, 一般标识注解都在get()方法上

创建Main方法进行测试

public static void main(String[] args) {

        //1.创建EntityManagerFactory
        String persistenceUnitName = "Jpa01";
        EntityManagerFactory enFactory = 
                Persistence.createEntityManagerFactory(persistenceUnitName);
        //2.创建EntityManager
        EntityManager entityManager = enFactory.createEntityManager();
        //3.开启事务
        EntityTransaction transaction = entityManager.getTransaction();
        transaction.begin();
        //4.进行持久化操作
        Customer customer = new Customer();
        customer.setAge(18);
        customer.setEmail("222@cfb.com");
        customer.setName("hh");
        
        entityManager.persist(customer);
        //5.提交事务
        transaction.commit();
        //6.关闭EntityManager
        entityManager.close();
        //7.关闭EntityManagerFactory
        enFactory.close();
    }

注意这里用到的是 

entityManager.persist()方法

—————————————————————————————————————————————————————————————————————————

无论如何,心平气和

原文地址:https://www.cnblogs.com/cfb513142804/p/7239065.html