首页 数据库 mysql教程 JPA初体验_MySQL

JPA初体验_MySQL

Jun 01, 2016 pm 01:49 PM
下载

bitsCN.com

  JPA,一套相当优秀的持久化规范,开始体验。


 

  1、我使用Hibernate对JPA提供的实现,下载hibernate-release-4.1.1.Final.zip。解压。

  在hibernate-release-4.1.1.Final/lib目录下有四个存放jar包的目录,其中

   hibernate-release-4.1.1.Final/lib/jpa                   存放hibernate对JPA提供实现的jar

   hibernate-release-4.1.1.Final/lib/required            存放hibernate开发所需jar

  这两个目录下的所有jar是我们体验JPA所必需的。

 


 

  2、新建一个Java Project。

  2.1 导入hibernate-release-4.1.1.Final/lib/jpa目录和hibernate-release-4.1.1.Final/lib/required目录下得所有jar

  2.2 在项目的classpath路径下建立META-INF目录

        在META-INF目录下建立persistence.xml文件

    

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/persistence  5             http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 6              7     <!-- 为持久化单元取名为 myJPA --> 8     <persistence-unit name="myJPA" transaction-type="RESOURCE_LOCAL"> 9         <properties>10             <!--配置Hibernate方言 -->11             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"></property>12             <!--配置数据库驱动 -->13             <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"></property>14             <!--配置数据库用户名 -->15             <property name="hibernate.connection.username" value="root"></property>16             <!--配置数据库密码 -->17             <property name="hibernate.connection.password" value="root"></property>18             <!--配置数据库url -->19             <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa?useUnicode=true&characterEncoding=UTF-8"></property>20             <!--设置外连接抓取树的最大深度 -->21             <property name="hibernate.max_fetch_depth" value="3"></property>22             <!--自动输出schema创建DDL语句 -->23             <property name="hibernate.hbm2ddl.auto" value="update"></property>    24         </properties>25     </persistence-unit>26             27 </persistence>

  用的是mysql,请建立一个名叫jpa的数据库。无需手动建表,执行测试的时候会自动建表。

 


 

  3、项目视图如下:

  

 


 

  4、编写实体类。

  

 1 package com.cndatacom.jpa.entity; 2  3 import javax.persistence.Column; 4 import javax.persistence.Entity; 5 import javax.persistence.GeneratedValue; 6 import javax.persistence.Id; 7 import javax.persistence.Table; 8  9 @Entity10 @Table(name="t_user")11 public class User {12     13     /**14      * 主键15      */16     @Id17     @GeneratedValue18     private Long id;19     20     /**21      * 名字22      */23     @Column(name="name")24     private String name;25     26     /**27      * 密码28      */29     @Column(name="password")30     private String password;31 32     public Long getId() {33         return id;34     }35 36     public void setId(Long id) {37         this.id = id;38     }39 40     public String getName() {41         return name;42     }43 44     public void setName(String name) {45         this.name = name;46     }47 48     public String getPassword() {49         return password;50     }51 52     public void setPassword(String password) {53         this.password = password;54     }55     56 }


5、编写测试类。

  

 1 package com.cndatacom.jpa.test; 2  3 import javax.persistence.EntityManager; 4 import javax.persistence.EntityManagerFactory; 5 import javax.persistence.Persistence; 6  7 import org.junit.After; 8 import org.junit.Before; 9 import org.junit.Test;10 11 import com.cndatacom.jpa.entity.User;12 13 14 public class TestJPA {15     16     EntityManagerFactory emf = null;17     18     @Before19     public void before() {20         //根据在persistence.xml中配置的persistence-unit name 创建EntityManagerFactory21         emf = Persistence.createEntityManagerFactory("myJPA");22     }23     24     /**25      * 添加用户26      */27     @Test28     public void addUser() {29         30         //创建一个用户31         User user = new User();32         user.setName("叶开");33         user.setPassword("yekai");34         35         //创建实体管理器对象36         EntityManager em = emf.createEntityManager();37         //开启事务38         em.getTransaction().begin();39         //持久化对象40         em.persist(user);41         //提交事务42         em.getTransaction().commit();43         //关闭EntityManager44         em.close();45     }46     47     /**48      * 修改用户49      */50     @Test51     public void modifyUser() {52         EntityManager em = emf.createEntityManager();53         em.getTransaction().begin();54         //查找id为1的User55         User user = em.find(User.class, 1L);//User 的主键id为Long型56         user.setName("李坏");57         //进行更新58         em.merge(user);59         em.getTransaction().commit();60         em.close();61     }62     63     /**64      * 删除用户65      */66     @Test67     public void deleteUser() {68         EntityManager em = emf.createEntityManager();69         em.getTransaction().begin();70         //查找id为1的User71         User user = em.find(User.class, 1L);//User 的主键id为Long型72         //进行删除73         em.remove(user);74         em.getTransaction().commit();75         em.close();76     }77     78     /**79      * 关闭EntityManagerFactory80      */81     @After82     public void after() {83         if(null != emf) {84             emf.close();85         }86     }87 88 }

 


 

  6、一些说明。

  @Entity 将领域标注为一个实体,表示要保存到数据库中。

  @Table 指定在数据库中对应的表名

  @Id 对应的属性是表的主键

  @GeneratedValue 主键的产生策略,这里表示使用默认的GenerationType.AUTO

  @Column 属性对应数据库表中的列,name指定列名,不写name的话,属性名和列名一致。

  

   

  

bitsCN.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Stock Market GPT

Stock Market GPT

人工智能驱动投资研究,做出更明智的决策

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

红果短剧怎么下载剧集 红果短剧怎么下载剧集 Mar 11, 2024 pm 09:16 PM

红果短剧不仅是一个观赏短剧的平台,更是一个内容丰富的宝库,其中还包括了小说等精彩内容。对于许多热爱阅读的用户来说,这无疑是一个巨大的惊喜。然而很多用户们还不太了解究竟该如何在红果短剧中下载并观看这些小说内容,在下文中本站小编就将为大家带来详细的下载步骤介绍,希望能帮助到各位有需要的小伙伴们。红果短剧怎样下载观看答案:【红果短剧】-【听书】-【文章】-【下载】。具体步骤:1、首先打开红果短剧软件,进入到首页中后我们点击页面上方的【听书】按钮;2、然后在小说的页面中我们可以看到有很多的文章内容,在这

如何使用磁力链接 如何使用磁力链接 Feb 18, 2024 am 10:02 AM

磁力链接是一种用于下载资源的链接方式,相比传统的下载方式更为便捷和高效。使用磁力链接可以通过点对点的方式下载资源,而不需要依赖中介服务器。本文将介绍磁力链接的使用方法及注意事项。一、什么是磁力链接磁力链接是一种基于P2P(Peer-to-Peer)协议的下载方式。通过磁力链接,用户可以直接连接到资源的发布者,从而完成资源的共享和下载。与传统的下载方式相比,磁

wallpaperengine登录别的号后下载别人的壁纸怎么办 wallpaperengine登录别的号后下载别人的壁纸怎么办 Mar 19, 2024 pm 02:00 PM

当你在自己电脑上登过别人steam账号之后,恰巧这个别人的账号也有wallpaper软件,切换回自己账号之后steam就会自动下载别人账号订阅的壁纸,用户可以通过关闭steam云同步解决。wallpaperengine登录别的号后下载别人的壁纸怎么办1、登陆你自己的steam账号,在设置里面找到云同步,关闭steam云同步。2、登陆你之前登陆的别人的steam账号,打开wallpaper创意工坊,找到订阅内容,然后取消全部订阅。(以后防止找不到壁纸,可以先收藏再取消订阅)3、切换回自己的stea

115://开头的链接怎么下载?下载方法介绍 115://开头的链接怎么下载?下载方法介绍 Mar 14, 2024 am 11:58 AM

  最近有很多用户都在问小编,115://开头的链接怎么下载?想要下载115://开头的链接需要借助115浏览器,大家下载好115浏览器后,再来看看下面小编整理好的下载教程吧。  115://开头的链接下载方法介绍  1、登录115.com,下载115浏览器并安装。  2、在115浏览器地址栏输入:chrome://extensions/,进入扩展中心,搜索Tampermonkey,安装对应插件。  3、在115浏览器地址栏输入:  油猴脚本:https://greasyfork.org/en/

123云盘怎么下载文件 123云盘怎么下载文件 Feb 23, 2024 pm 08:58 PM

123云盘是能够下载很多文件的,那么具体该怎么下载文件呢?用户们可以选择需要下载的文件,点击下载,或者是右击文件选择下载。这篇123云盘下载文件方法介绍能够告诉大家具体怎么下载,还不是很了解的朋友赶紧来看看吧!123云盘怎么下载文件1、首先打开软件后,点击需要下载的软件,然后在上面会有一个下载按键。2、或者右击软件,能够在列表里看到下载的按键。3、之后会有一个下载窗口,选择需要下载的位置。4、选择好之后点击下载就能够下载这些文件了。

超级人类(superpeople)游戏下载安装方法介绍 超级人类(superpeople)游戏下载安装方法介绍 Mar 30, 2024 pm 04:01 PM

超级人类(superpeople)游戏可以通过steam客户端下载游戏,这款游戏的大小在28G左右,下载到安装通常需要一个半小时,下面为大家带来具体的下载安装教程!新的申请全球封闭测试方法1)在Steam商店(steam客户端下载)搜索“SUPERPEOPLE”2)点击“SUPERPEOPLE”商店页面下方的“请求SUPERPEOPLE封闭测试访问权限”3)点击请求访问权限按钮后,将在Steam库中可确认“SUPERPEOPLECBT”游戏4)在“SUPERPEOPLECBT”中点击安装按钮并下

番茄小说如何下载txt 番茄小说如何下载txt Feb 27, 2024 pm 04:30 PM

番茄小说软件不仅提供了在线阅读小说的便捷功能,还允许用户将喜欢的小说下载到本地,实现离线观看。对于那些经常在外出、旅行或网络不稳定的情况下,仍然想要享受阅读的乐趣的用户来说,这无疑是一个贴心的功能。但是很多读者们还不清楚究竟该如何在番茄小说中下载自己想要的章节,那么这篇教程攻略中就将为大家带来详细的攻略介绍,希望能帮助到各位有需要的小伙伴们!番茄小说如何下载完小说答案:【番茄小说】-【小说】-【下载】。具体步骤:1、首先打开番茄小说软件,进入到首页中后我们点击需要下载的【小说】;2、然后来到小说

foobar2000怎么下载?-foobar2000怎么使用 foobar2000怎么下载?-foobar2000怎么使用 Mar 18, 2024 am 10:58 AM

foobar2000是一款能随时收听音乐资源的软件,各种音乐无损音质带给你,增强版本的音乐播放器,让你得到更全更舒适的音乐体验,它的设计理念是将电脑端的高级音频播放器移植到手机上,提供更加便捷高效的音乐播放体验,界面设计简洁明了易于使用它采用了极简的设计风格,没有过多的装饰和繁琐的操作能够快速上手,同时还支持多种皮肤和主题,根据自己的喜好进行个性化设置,打造专属的音乐播放器支持多种音频格式的播放,它还支持音频增益功能根据自己的听力情况调整音量大小,避免过大的音量对听力造成损害。接下来就让小编为大

See all articles