Spring-data-jpa

以前学习的时候,只是了解了下JPA的概念,知道了JPA其实是一种规范而Hibernate可以说就是一种JPA的实现。当学了spring与Hibernate 的整合,就以为会了spring的JPA。其实,这还远远不够,Spring的JPA还有更多功能。

这次我就以Spring-data-jpa为例,jpa的底层的实现还是用Hibernate(可以看看这样写与当初Hibernate整合时的区别)。项目是使用Java Config加上注解的形式搭建的,如果要学习xml的方式,以后有时间再更新,数据库用的是H2数据库(这是个内嵌型数据库,并不需要像MySQL一样要下载,可以直接使用)。话不多说,我们开始:

第一步:导入jar包,下面是我使用的jar包:这里请特别注意下Spring-data-jars的两个包,我在用的时候如果两个包导的version号是相同的,那么会产生包冲突!!!我查了好久才找到一个可以用的版本

第二步:配置Spring

      ---配置DataSource,我使用的是.properties形式,如果不会,下面datasource里面可以直接用.properties里面的字符串

                                                                        我的db.properties里面的内容

---初始化数据库与事务管理器,由于H2是个内嵌型数据库,你的程序一运行完,里面的数据全没了,所以我们需要初始化一下数据库以及加入初始数据;这里schema.sql就是一个创建表的语句;init.sql就是多个insert语句,语句用“;”隔开,我就不展示了

---初始化EntityManagerFactory:这个玩意可以类似的理解成Hibernate的SessionFactory,其实如果Jpa是用Hibernate实现的,本质这两玩意是相同的,不会使用.properties还是和上面一样,直接替换成响应的字符串或者其他类型

第三步:编写Pojo类:这里就是基于注解的Hibernate的实体类,不多说;不熟的请补下hibernate的知识

第四步:编写Dao接口:SpringData强大之处在于它可以让Hibernate(或者其他Jpa实现)像Mybatis一样,不用写接口实现类,直接编写接口即可,spring-data会自己根据情况自己做出实现。注意:1.SpitterSweeper是我自己写的,有其他作用,你们不要继承这个接口,只用继承前面那个;2.这里我们虽然没有用@Repository注解,在javaConfig也没有配置,但是其仍然是Spring容器的一员,因为它继承了JpaRepository接口,而其接口的上层接口就有使用了@Repository注解的

第五步:测试:看看最后运行是否成功(这里用的Junit+springtest)testAAA()请忽略掉,那是传统方式与Spring-data的混搭,这里没有给出,以后有机会我会更新传统方式(也就是写Dao实现)的方式怎样连接数据库

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值