JPA开发环境的搭建和第一个测试程序【完整jar在里边哦】

(1)新建一个Java项目,例如我的如下:

(2)其中只关心上图中标记的两个包com.lc.bean  和  com.lc.junitTest

现创建lib目录 加入以下jar(免费下载地址:http://yunpan.cn/cfmcLktnMvGwB   提取码 8efe)

另外还要加入你们自己的数据库驱动包哦!

(3)其中Person类为实体类,代码如下:

package com.lc.bean;

import java.util.Date;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

//是在javax.persistance包下的

@Entity
@Table(name = "person")
public class Person {

	private Integer id;
	private String name;
	private Date birthday;
	private Gender gender = Gender.MAN;
	private String info;
	public Byte[] file;
	private String imagepath;

	/*
	 * 需要提供一个默认的无参构造函数
	 */
	public Person() {
		super();
	}

	public Person(String name) {
		this.name = name;
	}

	/*
	 * 每一个实体 都需要一个实体标示符;标注在字段上 或者在get方法中(通常在get方法中)
	 */

	// 主键生成策略 --或者可以写成@GeneratedValue 因为默认的为auto
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	// 这里的name是数据库中的字段
	@Column(length = 10, nullable = false, name = "name")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	// 格式化日期 不保留最后的时间 只保留 日期
	@Temporal(TemporalType.DATE)
	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	// 枚举类型的注解方式 保存字符串到数据库 枚举类型 不准为空
	@Enumerated(EnumType.STRING)
	@Column(length = 5, nullable = false)
	public Gender getGender() {
		return gender;
	}

	public void setGender(Gender gender) {
		this.gender = gender;
	}

	// @Lob声明属性对应的数据库是一个大文本数据类型
	@Lob
	public String getInfo() {
		return info;
	}

	public void setInfo(String info) {
		this.info = info;
	}

	// 存放二进制数据、进行延时加载
	@Lob
	@Basic(fetch = FetchType.LAZY)
	public Byte[] getFile() {
		return file;
	}

	public void setFile(Byte[] file) {
		this.file = file;
	}

	// 不需要这个属性和数据库中字段映射 不会被影射
	@Transient
	public String getImagepath() {
		return imagepath;
	}

	public void setImagepath(String imagepath) {
		this.imagepath = imagepath;
	}

}

枚举类型:

package com.lc.bean;

public enum Gender {
	MAN,WOWEN
}

(4)然后我们的测试程序是:

package com.lc.junitTest;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import org.junit.Test;

import com.lc.bean.Person;

public class PersonTest {

	@Test
	public void save() {

		/*
		 * 1.获取sessionFactory对象,这里获取的是 EntityManagerFactory,差不多一个意思
		 */
		// sessionFcatory---session---begin事务
		EntityManagerFactory factory = Persistence
				.createEntityManagerFactory("jpatest");

		EntityManager em = factory.createEntityManager(); // 创建一个实体管理器

		em.getTransaction().begin(); // 开始事务
		em.persist(new Person("徐刘根")); // 保存事务

		em.getTransaction().commit();

		em.close();

	}

}

(5)还有一个persistence.xml文件,这里和hibernate中的配置文件类似,主要是数据库的配置,我这里使用的是mysql,所以有以下的配置

name:表示数据库的名称

transaction-type:表示本地事务

<?xml version="1.0"?>
<persistence 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 http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
  <persistence-unit name="jpatest" transaction-type="RESOURCE_LOCAL">
      <properties>
         <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
         <property name="hibernate.connection.driver_class" value="org.gjt.mm.mysql.Driver"/>
         <property name="hibernate.connection.username" value="root"/>
         <property name="hibernate.connection.password" value="123456789"/>
         <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpatest?useUnicode=true&characterEncoding=UTF-8"/>
         <property name="hibernate.hbm2ddl.auto" value="update"/>
      </properties>
  </persistence-unit>
</persistence>

(6)然后运行测试程序PersonTest

在数据库中得到结果

时间: 2024-10-22 21:57:53

JPA开发环境的搭建和第一个测试程序【完整jar在里边哦】的相关文章

第一讲:Android开发环境的搭建

一.Android简介 Android 是基于Linux内核的软件平台和操作系统.Android构架主要由3部分组成,linux内核层,类库.虚拟机和核心组件库层,应用程序框架层Android应用程序使用JAVA语言进行开发. 二.开发环境的搭建 软件的准备:JAVA  JDK 1.6Eclipse 3.6           (eclipse-java-helios-win32.zip)ADT 0.9.7             (Android Development Tools)SDK T

win 10 开发 第一步:开发环境的搭建

win 10 是一个全新的平台,也标志着微软的大一统.随着win 10 ,vs2015的发布,通用应用将进入我们的生活.对于想学习win 10 开发的同学来说,这是一个机会,win10 是全新的开始,让我们进入开发的第一课:win 10 应用开发环境的搭建. 一.准备工作. 1.要进行win10 开发,首先要将自己的电脑系统升级为win10.是的,首年升级免费! 2.如果要进行模拟器的使用,自己的电脑cpu还必须支持hyper-v虚拟化技术.我们可以在自己的电脑当中,打开——控制面板——启动或关

Akka第一个案例动手实战开发环境的搭建

学习了Akka第一个案例动手实战开发环境的搭建, 采用IDEA 搭建AKKa的环境,快捷方便,相关的mave和其他的jar包可以自动加载. 王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载!第92讲:Akka第一个案例动手实战开发环境的搭建 百度云盘:http://pan.baidu.com/s/1dDub8DN腾讯微云:http://url.cn/WYPW3Z360云盘:http://yunpan.cn/cm6u6NqEeLEeh  访问密码 

第一节:es6开发环境的搭建

第一章:es6开发环境的搭建 命令:npm init -y   生成package.json文件(依赖文件):项目结构如下: 全局安装 babel-cli  命令如下:npm install -g babel-cli, 还需本地安装babel-preset-es2015 和 babel-cli 然后在项目当中安装:npm install --save-dev babel-preset-es2015 babel-cli 将es6打包转化es5能识别的代码: babel src/index.js -

开发环境——基于RHEL 6.8开发环境的搭建

开发环境--基于RHEL 6.8开发环境的搭建 本文讲述了基于RHEL 6.8操作系统搭建开发环境,主要安装了GCC 4.9.3.Qt 5.7.Apache 2.4.25.MySQL 5.6.35.本文同时适用于在Linux主机无互联网环境下搭建开发环境,只需要将所需安装包下载后拷贝到Linux主机即可. 一.RHEL6.8安装 1.RHEL 6.8下载 下载RHEL 6.8安装包:rhel-server-6.8-x86_64-dvd.iso 2.RHEL 6.8安装 安装过程中选择Develo

从svn签下代码以及集成开发环境的搭建详细过程

在经过几次的从svn上签下来代码的经历之后,终于总结出了详细的步骤 在upupw/htdocs下建立新的文件夹(此处根据你服务器的根目录而变),此处为bpb1027 ,再右键,选择SVN Checkout 填入内网或外网访问SVN的地址,后面要加个/trunk(主干开发) SVN 主干(trunk).分支(branch ).标记(tag)的不同 trunk:是用来做主方向开发的,一个新模块的开发,这个时候就放在trunk,当模块开发完成后,需要修改,就用branch. branch:是用来做并行

Android培训资料准备之Android开发环境的搭建

Android开发环境的搭建主要分为以下四步: (1)下载JDK并安装 (2)配置JDK环境变量 (3)下载安装Android Studio (4)配置Android Studio 环境变量(可执行可不执行) 第一步:下载JDK并安装 我们先上Oracle挑选适合自己电脑版本的JDK(我这里挑选的是window x64 jdk-8版本) 现在我们看看安装的过程 默认情况下安装到C盘中,我们可点击更改到自定义目录下,这里我选择安装到D:\Program Files\Java\jdk1.8.0_60

Java知多少(5) Java开发环境的搭建

要进行Java开发,首先要安装JDK(Java Development Kit,Java开发工具箱). JDK 是一系列工具的集合,这些工具是编译Java源码.运行Java程序所必需的,例如JVM.基础类库.编译器.打包工具等.不论是什么样的 Java 应用服务器,都是内置了某个版本的 JDK,因此掌握 JDK 是学好 Java 的第一步. JDK所提供的部分工具: java编译器:javac.exe java解释器:java.exe java文档生成器:javadoc.exe java调试器:

windows下STM32开发环境的搭建

一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改变.鉴于此,本文没有必要对windows下搭建STM32开发环境的详细过程进行阐述,读者可以结合Linux下STM32开发环境的搭建和本文进行windows下STM32开发环境的搭建. 2.开发环境描述 硬件开发板:野火STM32开发板 Cortex-M3型号:STM32F103VET6 下载器与调