hibernatJPA---【小白系列】0基础到熟练应用hibernate框架(十五)

JPA概念

Java Persistence API (java持久化API) 与JDBC性质一样,都属于规范。
这套规范定义了如何以面向对象的方式操作数据库.这套出现在hibernate框架之后.受hibernate框架启发.其中与hibernate设计不同的是支持以注解的方式注册实体对象.hibernate率先宣布支持JPA

JPA环境搭建

1.导包




除了这两个文件夹下,还需要自己导入 数据库驱动,就不截图了

2.建立配置文件

JPA要求在src下建立META-INF文件夹,里面新建个persistence.xml

配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<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">  
    <!--Name属性用于定义持久化单元的名字 (name必选,空值也合法);   
     	transaction-type 指定事务类型(可选)    
     		取值:
     			JTA:Java Transaction Api 用于分布式事务
     			RESOURCE_LOCAL : 单连接事务
	-->  
    <persistence-unit name="abc" transaction-type="RESOURCE_LOCAL">  

	   <!-- javax.persistence.PersistenceProvider接口的一个实现类(可选) -->  
	   <provider>org.hibernate.ejb.HibernatePersistence</provider>    
	 
	   <!-- 显式列出实体类,在Java SE 环境中应该显式列出.(可选) 
	   <class>com.domain.Customer</class>-->
	   
	  
	   <!--厂商专有属性(可选) 我们用的Hibernate,后面都是hibernate.cfg.xml中配置-->         
	  <properties>    
       			
               <!-- 数据库的连接信息 -->    
               <property name="hibernate.connection.driver_class" 
					    value="com.mysql.jdbc.Driver" />    
               <property name="hibernate.connection.url" 
						value="jdbc:mysql://localhost:3306/test"/>  
               <property name="hibernate.connection.username" value="root" />    
               <property name="hibernate.connection.password" value="1234" />   
               <!-- 指定方言 -->   
               <property name="hibernate.dialect" 
					    value="org.hibernate.dialect.MySQL5Dialect" />
			   <!-- 生成DDL的策略 -->
               <property name="hibernate.hbm2ddl.auto" value="update" />  
               <!-- 是否显示SQL语句 -->    
               <property name="hibernate.show_sql" value="true" />
               <!-- 是否格式化SQL语句 -->    
               <property name="hibernate.format_sql" value="true" />   
               <!-- 指定使用c3p0连接池 -->
               <property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" ></property>
        </properties>    
    </persistence-unit>  
</persistence>  

新建JPAUtils.java

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

public class JPAUtils {
	
	private static EntityManagerFactory factory;
	
	static{
		//读取主配置,并创建EntityManagerFactory(可以理解为Session工厂)
		 factory = Persistence.createEntityManagerFactory("abc");
	}
	
	public static EntityManager getEntityManager(){
		return factory.createEntityManager();
	}
	
	
}

实体注解详解



使用JPA增删改查



懒加载查询


修改持久化对象


修改游离态对象



JPQL





多表映射关系配置

一对多|多对一

一对多


多对一



多对多

不维护外键方



外键维护方



在JPA中使用c3p0连接池

导包


配置


测试


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LawsonJin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值