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 
 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.Driverproperty>
 9         <property name="hibernate.connection.username">rootproperty>
10         <property name="hibernate.connection.password">jay571018property>
11         <property name="hibernate.connection.url">jdbc:mysql:///Hibernate2_demo1property>      
   
15         
16         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialectproperty>
17         <property name="hibernate.show_sql">trueproperty>
18         <property name="hibernate.format_sql">trueproperty>
19         <property name="hibernate.hbm2ddl.auto">updateproperty>
20         
21         
22         <property name="hibernate.current_session_context_class">threadproperty>
23         
24         
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     }

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