您现在的位置是:首页 >技术交流 >【Spring Data Jpa】原生Jpa的使用网站首页技术交流

【Spring Data Jpa】原生Jpa的使用

百世经纶『一页書』 2023-05-31 12:00:01
简介【Spring Data Jpa】原生Jpa的使用
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


1. Dependency

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.0.7.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.0.7.Final</version>
        </dependency>

2. Config

1.1 persistence.xml

  • 配置文件路徑
    在这里插入图片描述
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
    <!--持久化单元配置,在配置文件中至少有一个
        name:持久化单元名称
        transaction-type:事务模式。RESOURCE_LOCAL:本地事务,单数据库的事务 JTA:分布式事务,多个数据库的事务
    -->
    <persistence-unit name="xxxx" transaction-type="RESOURCE_LOCAL">
        <!--配置JPA提供商-->
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <properties>
            <!--数据库的方言,告诉JPA当前应用使用的数据库-->
            <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
            <!--连接数据库配置-->
            <property name="javax.persistence.jdbc.user" value="root"/>
            <property name="javax.persistence.jdbc.password" value="root"/>
            <property name="javax.persistence.jdbc.driver" value="xxxx"/>
            <property name="javax.persistence.jdbc.url" value="xxx"/>

            <!--Hibernate的属性配置-->
            <!--是否打印sql语句-->
            <property name="hibernate.show_sql" value="true"/>
            <!--是否格式化sql语句-->
            <property name="hibernate.format_sql" value="true"/>
            <!--是否自动创建数据库表
                可选值:create、update、none
                create:程序自动创建数据库表,如果表存在则先删除后创建
                update:程序自动创建数据库表,如果表存在则不创建。
                none:不会创建表
            -->
            <property name="hibernate.hbm2ddl.auto" value="create"/>

        </properties>
    </persistence-unit>
</persistence>

1.2 Entity

在这里插入图片描述

1.3 application.properties

在这里插入图片描述

3. Test

public class JpaTest {
    @Test
    public void firstTest(){
//        1. 创建一个`EntityManagerFactory`对象。在系统中一般都是单例的。
        EntityManagerFactory factory = Persistence.createEntityManagerFactory("xxxx");
//        2. 使用工厂对象创建一个`EntityManager`对象。一个`EntityManager`就是一个连接。是一个多例对象。使用完毕之后就关闭。
        EntityManager entityManager = factory.createEntityManager();
//        3. 开启事务。
        EntityTransaction transaction = entityManager.getTransaction();
        transaction.begin();
//        4. 创建一个`Customer`对象。
        Customer customer = new Customer();
        customer.setCustName("小王");
        customer.setCustLevel("VIP");
        customer.setCustSource("电话");
        customer.setCustPhone("12345678910");
        customer.setCustAddress("浙江绍兴");
//        5. 使用`Entitymanager`对象的`persist`方法向数据库插入数据。
        entityManager.persist(customer);
//        6. 事务提交
        transaction.commit();
//        7. 关闭连接
        entityManager.close();
        //系统关闭之前关闭工厂对象
        factory.close();
    }
}

4. 原生JdbcTemplate

在这里插入图片描述

5. Awakening

     在一秒钟内看到本质的人和花半辈子也看不清一件事本质的人,自然是不一样的命运。

在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。