日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JPA(一):十分钟入门 JPA

發布時間:2025/3/20 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JPA(一):十分钟入门 JPA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.JPA的概念


為了節省時間,更加具體的解釋我們就略過吧。

二.在IDEA中使用JPA

2.1.添加JAP依賴

添加相關的maven依賴

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target><hibernate.version>5.2.17.Final</hibernate.version><goda.time.version>2.9.9</goda.time.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!-- jdbc驅動包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.37</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>4.3.10.Final</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><version>4.3.10.Final</version></dependency><dependency><groupId>org.hibernate.javax.persistence</groupId><artifactId>hibernate-jpa-2.1-api</artifactId><version>1.0.0.Final</version></dependency><dependency><groupId>org.hibernate.common</groupId><artifactId>hibernate-commons-annotations</artifactId><version>4.0.5.Final</version></dependency><!--持久化依賴--><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>${goda.time.version}</version></dependency><dependency><groupId>org.jadira.usertype</groupId><artifactId>usertype.core</artifactId><version>6.0.1.GA</version></dependency><dependency><groupId>antlr</groupId><artifactId>antlr</artifactId><version>2.7.7</version></dependency><dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency><dependency><groupId>org.jboss</groupId><artifactId>jandex</artifactId><version>1.1.0.Final</version></dependency><dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.18.1-GA</version></dependency><dependency><groupId>org.jboss.logging</groupId><artifactId>jboss-logging</artifactId><version>3.1.4.GA</version></dependency><dependency><groupId>org.jboss.logging</groupId><artifactId>jboss-logging-annotations</artifactId><version>1.2.0.Beta1</version><scope>provided</scope></dependency><dependency><groupId>org.jboss.spec.javax.transaction</groupId><artifactId>jboss-transaction-api_1.1_spec</artifactId><version>1.0.0.Final</version></dependency><dependency><groupId>javax.ejb</groupId><artifactId>ejb-api</artifactId><version>3.0</version></dependency></dependencies>

2.2.配置JPA運行環境

在IDEA中,resources文件夾下,也就是資源文件夾下,創建META-INF文件夾,在該文件夾下創建persistence.xml文件,添加以下配置。

<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.1"xmlns="http://xmlns.jcp.org/xml/ns/persistence"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistencehttp://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"><persistence-unit name="MyJPA" transaction-type="RESOURCE_LOCAL"><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" /><property name="hibernate.dialect"value="org.hibernate.dialect.MySQL5Dialect" /><property name="hibernate.show_sql" value="true" /><property name="hibernate.hbm2ddl.auto" value="update" /></properties></persistence-unit></persistence>

如下:

2.3.創建表

CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL,`password` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

2.4.在IDEA中配置數據源

在IDEA的右邊有Database,按以下步驟操作即可。

這里也可以不配置,配置之后,可以在IDEA中直接看到數據庫中的表,并且之后再IDEA中寫的代碼也不用有警告。

添加你的數據庫名字,第一次配置下邊會提示你下載插件,很具提示即可。

2.5.測試
創建User類

package com.hly.jpa.model.oneToOne;import javax.persistence.*; /*** @author :hly* @github :github.com/SiriusHly* @blog :blog.csdn.net/Sirius_hly* @date :2018/9/27*/ @Entity //指定表名,指定唯一約束 @Table(name = "user",uniqueConstraints = {@UniqueConstraint(columnNames = {"id","name"})}) public class User {@Id//指定主鍵@GeneratedValueprivate int id;@Columnprivate String name;@Columnprivate String password;//一對一映射@OneToOne(optional = true, cascade = CascadeType.ALL)@JoinColumn(name = "articleId", unique = true)public Article article;//省略了getter和setter } /*** 獲取應用管理的EntityManager*/@Testpublic void testApplicationEntityManager() {EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("MyJPA");EntityManager em = entityManagerFactory.createEntityManager();em.getTransaction().begin();User user = new User();user.setName("hly");//以上兩行為新建狀態//托管狀態em.persist(user);//事務提交或調用flush()方法后會同步到數據庫em.getTransaction().commit();//根據主鍵獲取對象//System.err.println(em.find(User.class,1));//System.err.println(em.getReference(User.class,1));em.close();entityManagerFactory.close();}

數據庫中插入數據則成功。

2.6.EntityManager接口

2.7.實體類中注解的含義

2.8.代碼及地址思維導圖

完整代碼在筆者的github,歡迎訪問。

總結

以上是生活随笔為你收集整理的JPA(一):十分钟入门 JPA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。