示例:在 IDEA 下创建一个 JPA 项目,并实现基本的 CRUD
1.创建一个 JavaEE Persistence 项目(采用 Hibernate 实现 JPA),具体如下所示
2、导入相应的 Maven 依赖
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>groupId</groupId>
<artifactId>jpa01</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- hibernate 依赖 -->
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.4.1.Final</version>
</dependency>
<!-- mysql 驱动 -->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
</dependencies>
</project>
项目结构
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="NewPersistenceUnit">
<!--
配置使用什么ORM 产品作为JPA 的实现
1.实际上配置的是 javax.persistence.spi.PersistenceProvider 接口的实现类
2.若JPA项目中只有一个JPA的实现产品,则也可以不配置该节点。
-->
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<!-- 添加持久化类-->
<properties>
<!-- 连接数据库的基本信息 -->
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa_test"/>
<property name="hibernate.connection.driver_class" value="com.mysql.cj.jdbc.Driver"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="123"/>
<property name="hibernate.archive.autodetection" value="class"/>
<!-- 配置JPA 实现产品的基本属性,配置hibernate 的基本属性 -->
<!-- 自动显示SQL -->
<property name="hibernate.show_sql" value="true"/>
<!-- 格式化sql -->
<property name="hibernate.format_sql" value="true"/>
<!--生成数据表的策略-->
<!--注意这个属性,自动生成的文件前面没有 hibernate,要加上 hibernate -->
<property name="hibernate.hbm2ddl.auto" value="update"/>
<!-- 使用 MySQL8Dialect -->
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect"/>
</properties>
</persistence-unit>
</persistence>
``