JPA规范与实现它的Hibernate框架

JPA仅仅是一种规范,也就是说JPA仅仅定义了一些接口,而接口是需要实现才能工作的。所以底层需要某种实现,而Hibernate就是实现了JPA接口的ORM框架。

也就是说:

JPA是一套ORM规范,Hibernate实现了JPA规范

什么是spring data jpa?

spirng data jpa是spring提供的一套简化JPA开发的框架,按照约定好的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能,如分页、排序、复杂查询等等。

Spring Data JPA 可以理解为 JPA 规范的再次封装抽象,底层还是使用了 Hibernate 的 JPA 技术实现。

JPA是什么

Java中的JPA是什么意思?

hibernate框架总结

注解案例:山寨Junit与山寨JPA

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE hibernate-configuration PUBLIC
 3     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 4     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 5 <hibernate-configuration>
 6     <session-factory>
 7         <!-- 配置数据库 信息  必须的 -->
 8         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
 9         <property name="hibernate.connection.username">root</property>
10         <property name="hibernate.connection.password">jay571018</property>
11         <property name="hibernate.connection.url">jdbc:mysql:///Hibernate2_demo1</property>      
   
15         <!-- 2. 配置hibernate信息 可选的 -->
16         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
17         <property name="hibernate.show_sql">true</property>
18         <property name="hibernate.format_sql">true</property>
19         <property name="hibernate.hbm2ddl.auto">update</property>
20         
21         <!-- 配置本地线程 绑定session -->
22         <property name="hibernate.current_session_context_class">thread</property>
23         
24         <!-- 3  配置对象关系映射文件的位置 -->
25         <mapping resource="org/model/User.hbm.xml"/>
26     </session-factory>
27 </hibernate-configuration>
13         /*
           你有很多事放不下吗,做人要潇洒一点。
           爱一个人未必要跟她一辈子的,我喜欢一朵花,未必一定要把它摘下来;
           我喜欢风,难道让风停下来,让我闻闻;
           我喜欢云,难道叫云飘下来,来罩着我。
           有时候太照顾别人的感受,会失去自我的。
           轻轻的我走了,正如我轻轻的来,挥一挥衣袖,不带走一片云彩。(英雄本色)   
           */
 1 package org.util;
 2 //       世界上有一种鸟没有脚,生下来就不停的飞,飞的累了就睡在风里。
  //        一辈子只能着陆一次,那就是死亡的时候(阿飞正传)
 3 import org.hibernate.Session;
 4 import org.hibernate.SessionFactory;
 5 import org.hibernate.cfg.Configuration;
 6 
 7 public class SessionFactoryUtil {
 8     private static Configuration configuratrion=null;
 9     private static SessionFactory sessionfactory=null;
10     static{//静态代码块  只会在类加载的时候执行一次   创建一次sessionfactory对象  提高性能
11         configuratrion=new Configuration();
12         configuratrion.configure();//加载配置文件
13         sessionfactory=configuratrion.buildSessionFactory();
14     }
15     //创建一个方法返回sessionfactory对象
16     public static SessionFactory getSessionFactory(){
17         return sessionfactory;
18     }
    //提供返回 与本地线程绑定的session的方法
19     public static Session get(){
20         return sessionfactory.getCurrentSession();
21     }
22     
23     public static void close(){
24         sessionfactory.close();
25     }
26     public static void main(String args[]){
27         
28     }
29 }
public void t(){
 2         Session session=SessionFactoryUtil.get();
 3         Transaction tran=session.beginTransaction();
 4         User u=new User();
 5         u.setName("a");
 6         u.setPassword("a");
 7         session.save(u);
 8         tran.commit();
 9         session.close();//这里不需要关闭session
10     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值