.png)
2】配置hibernate
provider标签指定框架为hibernate;
在properties标签里加入propertie标签来配置hibernate的属性;
<?xml version="1.0" encoding="UTF-8"?>
<persistence-unit name="jap_emp" transaction-type="RESOURCE_LOCAL">
<!-- 配置提供jpa实现的ORM框架 ,若只有一种jpa实现框架不配置也可以-->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<!-- 连接数据库配置 -->
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="root"/>
<!-- 配置jpa的实现框架hibernate的基本属性 -->
<!-- 格式化sql -->
<property name="hibernate.format_sql" value="true"/>
<!--显示sql -->
<property name="hibernate.show_sql" value="true"/>
<!--生成数据表的策略 -->
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
</persistence>
4)创建实体类Emp
这里的实体类用注解和数据库的表映射;
主要的注解:
@Table ->用在实体类名前;name属性指定表名;如果不指定默认表名和类名一样;
@Entity ->实体类前面;
@Colunm ->用在实体类属性前或get方法前面;用来映射实体类和表列名;name属性指定列名;可以省略;省略时表的列名和属性名一样;
@Id ->用在对应表的主键的属性前;
@GeneratedValue ->用来指定主键的生成策略
package com.liusir.java;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
@Table(name="tb_emp")
@Entity
public class Emp {
@Column(name="id")
@GeneratedValue(strategy=GenerationType.AUTO)
@Id
private Integer id;
private String name;
private Date birthday;
private Integer salary;
//getter setter
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public Integer getSalary() {
return salary;
}
public void setSalary(Integer salary) {
this.salary = salary;
}
}
创建好实体类后,将完整的类名注入到persistence.xml中;
也就是在配置文件中添加一条class标签:
<!--添加持久化类 -->
<class>com.liusir.java.Emp</class>
5)测试用的main方法
主要步骤:
1】创建EntityManagerFactory;
2】创建EntityManager;
3】开启事务;
4】进行持久化操作;
5】提交事物
6】关闭EntityManager
7】关闭EntityManagerFactory;
package com.liusir.java;
import java.util.Date;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
public class TestEmp {
public static void main(String[] args) {
//对应persistence.xml文件里的persistence-unit标签中的 name属性;默认为工程名
String persistenceUnitName="jpa_emp";
//1.创建EntityManagerFactory
EntityManagerFactory factory=Persistence.createEntityManagerFactory(persistenceUnitName);
//2.创建EntityManager
EntityManager entityManager=factory.createEntityManager();
//3.开启事务
EntityTransaction transaction=entityManager.getTransaction();
transaction.begin();
//4.持久化操作
Emp emp=new Emp();
emp.setName("诸葛村夫");
emp.setSalary(1000);
emp.setBirthday(new Date());
entityManager.persist(emp);
//5.提交事务
transaction.commit();
//6.关闭EntityManager
entityManager.close();
//7.关闭EntityManagerFactory
factory.close();
}
}
6)结果
在数据库中自动创建了一个表;
并且在表中插入了一条数据;
.png)
.png)
- springboot:spring data jpa介绍
转载自:https://www.cnblogs.com/ityouknow/p/5891443.html 在上篇文章springboot(二):web综合开发中简单介绍了一下spring data j ...
- spring boot(五)Spring data jpa介绍
在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spr ...
- Spring Data JPA介绍与简单案例
一.Spring Data JPA介绍 可以理解为JPA规范的再次封装抽象,底层还是使用了Hibernate的JPA技术实现,引用JPQL(Java Persistence Query Languag ...
- spring boot 中使用 jpa以及jpa介绍
1.什么是jpa呢?JPA顾名思义就是Java Persistence API的意思,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.12.jpa具有什么 ...
- Spring Data JPA 介绍
Spring-data-jpa的基本介绍:JPA诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,百度百科说是JDK为了实现ORM的天下归一,目前也是在按照这个方向发展,但是还没能完全实现.在 ...
- spring data jpa介绍
首先了解JPA是什么? JPA(JavaPersistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据.他的出现主 ...
- SQLite数据库和JPA简单介绍
SQLite数据库和JPA简单介绍 一.SQLite简单使用 SQLite是遵循ACID的关系数据库管理系统,它的处理速度很快,它的设计目标是嵌入式的,只需要几百K的内存就可以了. 1.下载SQLit ...
- spring boot(五):spring data jpa的使用
在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spr ...
- JPA入门例子(采用JPA的hibernate实现版本)
(1).JPA介绍: JPA全称为Java Persistence API ,Java持久化API是Sun公司在Java EE 5规范中提出的Java持久化接口.JPA吸取了目前Java持久化技术的优 ...
随机推荐
- PAT B1042 挖掘机哪家强
AC代码 #include <cstdio> #include <algorithm> using namespace std; const int max_n = 11000 ...
- Redis-数据结构与对象-对象
1. 作用 Redis使用对象作为五种不同类型的底层实现,字符串,列表,哈希,集合,有序集合等 而对象是基于之前的分析的数据结构创建的.每个对象都至少用到一种数据结构,这意味着,Redis五大类型,底 ...
- Elastic Search快速上手(1):简介及安装配置
前言 最近开始尝试学习Elastic Search,因此决定做一些简单的整理,以供后续参考,快速上手使用ES. 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多 ...
- Wannafly挑战赛24
A. 石子游戏 Alice和Bob在玩游戏,他们面前有n堆石子,对于这些石子他们可以轮流进行一些操作,不能进行下去的人则输掉这局游戏.可以进行两种操作:1. 把石子数为奇数的一堆石子分为两堆正整数个石 ...
- centos7下NFS配置
NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. 前言 四台机器: ,218三台机器的/root/filedi ...
- WPF跨线程操作UI界面控件
在WPF应用中,如果遇到多线程的需求时,如果引用WPF控件时会引发异常,异常内容:调用线程无法访问此对象,因为另一个线程拥有该对象.具体如下: 调用代码: ThreadcountThread= ...
- Yali7月集训Contest2 T1 Cube 题解
题目链接: 连我们都只有纸质题目...话说雅礼集训都是这样的吗... 大意 0维基本图形是一个点 1维基本图形是一条线段 2维基本图形是一个正方形 3维基本图形是一个正方体 4维基本图形是... 求\ ...
- 初识python之了解其背景和安装
1.Python的发展 Python语言诞生于1990年,由Guido van Rossum设计并领导开发.1989年12月,Guido考虑启动一个开发项目以打发圣诞节前后的时间,所以决定为当时正在构 ...
- java实现spark常用算子之Take
import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.a ...
- 03 Go语言特性
一.基本注意事项 1.转义字符 \t 一个制表符,代表一次tab \n 换行符 \\ 转义代表 \ \" 转义代表 " \r 一个回车,从当前行的最前面开始输出,会覆盖以前的内容, ...