菜鸟初识技术篇---Sping Data Jpa

    首先是Sping Data Jpa 也是几个月前才开始接触的,其实在学习这个技术之前,之前也有用到jpa操作的,使用hibernate框架的时候,因为hibernate本身就是一个自动化的持久层框架技术,所以在只使用到hibernate的框架里,一般都是用jpa操作的,不过也可以用到一些sql操作,不过最终还是避免不了你要用到jpa的操作。所以学jpa的操作还是非常有必要的,当然你使用的半自动化的mybatis框架的话,当然可以尽情使用你的sql语句操作(我之前有段时间就是一直写sql来操作的,用的jpa比较少),不用jpa语句操作也行,其实都可以,看你自己怎么灵活使用吧。然后下面要说的jpa是spring Data Jpa这个是spring框架中的一个东西,跟平时写的jpa相似,其实jpa熟练的话,还是非常方便的,而且一些功能或者操作也很强大。

    好了,废话不多说,下面来讲一下初识这个spring的 jpa的一点初识东西。

因为主要都是基础的东西,而且笔记也不多,然后那些基础的怎么写相关的表实体类、查询方法findbyXXX等等就不详细讲了,网上有很多写法,可以参照来写,所以在这里就先介绍一些个人觉得要理解一下的,或者有点需要注意到的地方,比如:相关的repository体系类:

1, CrudRepository       -------------》顾名思义就是CURD增删改查的操作类了;

2,PaggingAndSortingRepository         -------------------》分页排序类;

3,JpaRepository                -------------------》这是一组JPA规范,继承PaggingAndSortingRepository类。

JpaspecificationExcutor    -----------》这个类提供了Jpa criteria查询的相关方法

然后也顺便说一下结合一些注释的使用查询方法:

比如查询注释:@Query (其中的参数nativeQuery=true,意思是按数据库中的sql语句格式对待)

关于事务性的操作删改:@Modifying(clearAutomatically:true,意思是刷新一级缓存)、@Transactional

最后,有一点需要注意的是,spring jpa中没有update和insert的操作,用的都是save方法的操作:

save,saveAndFlush(马上写入数据库,一般用于高并发的情况)。

以上仅代表个人的一些见解,如有错误,望多多指正,谢谢!

                                                                                                                                                                                          2018年11月15日

     

猜你喜欢

转载自blog.csdn.net/Kinglon17/article/details/84101709