Spring Data Jpa入门程序

一、创建Maven工程,不用模板的jar工程

二、程序如下:在数据库中添加一条数据

1、配置pom.xml文件

    


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">
4.0.0

cn.kgc
Spring_Data-Jpa_Demo01
1.0-SNAPSHOT


  
UTF-8
  
5.0.7.Final
1.8
1.8


  

junit
junit
4.12



org.hibernate
hibernate-entitymanager
${project.hibernate.version}

  


org.hibernate
hibernate-c3p0
${project.hibernate.version}

  


log4j
log4j
1.2.17

  


mysql
mysql-connector-java
5.1.6






2、resources资源配置文件
  文件目录必须是META-INF/persistence.xml
  persistence.xml内容如下:
  persistence-unit持久化单元的意思
  name="myjpa"持久化单元的名字
  transaction-type="RESOURCE_LOCAL"事物类型和但数据库事物
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  

  


3、创建实体类
  @Entity,该注解表示告诉框架这是一个jpa的实体类,和数据库建立联系
  @Table(name="表名")该注解表示根据实体类创建表 ,表名为name的值。
  @GeneratedValue(strategy=GenerationType.IDENTITY),该注解表示配置主键的生成策略
  strategy
      GenerationType.IDENTITY表示自增 mysql数据库支持
      GenerationType.SEQUENCE表示序列 Oracle数据库支持
      GenerationType.BLE 是jpa提供的一种机制,通过一张数据库表的形式帮助我们完成主键自增
      GenerationType.AUTO 是由程序自动的选择主键生成策略
  @Id 该注解表示设置标的id字段
  @Column(namee="字段名"),该注解表示配置属性和表字段名的映射关系name的值为表字段名
    
package cn.kgc.pojo;

import javax.persistence.*;

//@Entity注解告诉spring Data jpa框架这是一个jpa的实体类
@Entity
//配置实体类和数据库表的映射关系
@Table(name = "Customer")
public class Customer {
//配置主键 和自增 GenerationType.IDENTITY为自增长
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
//配置字段和属性之间的关系
@Column(name = "id")
private int id;
@Column(name = "name")
private String name;
@Column(name = "sex")
private String sex;
@Column(name = "age")
private int age;
@Column(name = "addres")
private String addres;

public int getId() {
return id;
}

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

public String getName() {
return name;
}

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

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getAddres() {
return addres;
}

public void setAddres(String addres) {
this.addres = addres;
}

@Override
public String toString() {
return "Customer{" +
"id=" + id +
", name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
", addres='" + addres + '\'' +
'}';
}
}

4、测试类:
  
package cn.kgc.test;

import cn.kgc.pojo.Customer;
import org.junit.Test;

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

public class PjaTest {
@Test
public void firstTest() {
//通过 Persistence.createEntityManagerFactory创建EntityManagerFactory
EntityManagerFactory factory = Persistence.createEntityManagerFactory("myjpa");
//获得enyityManager工厂的对象,也就是获得一个连接
EntityManager entityManager = factory.createEntityManager();
//通过工厂对象获得EntityTransaction对象
EntityTransaction transaction = entityManager.getTransaction();
//开启事物
transaction.begin();
//创建实体类对象
Customer customer = new Customer();
customer.setName("刘高阳");
customer.setSex("男");
customer.setAge(18);
customer.setAddres("郑州市");
//5 使用Entitymanager 对象 的persist 方法向数据库添加数据
entityManager.persist(customer);
//提交事物
transaction.commit();
//关闭连接
entityManager.close();
factory.close();

}
}

转载于:https://www.cnblogs.com/liugaoyanging/p/11354056.html

你可能感兴趣的:(数据库,java)