代码改变世界

java学习简单笔记20190311

2019-03-11 09:29  lofe  阅读(193)  评论(0编辑  收藏  举报

spring data jpa,通过类对象映射数据库中的记录的映射关系

使用数据访问层,需要自己的接口继承JpaRepository<T,ID extends Serizeble>,便默认有了几个访问数据操作的方法List<T> findAll();List<T> findAll(Sort sort),List<S> save(Iterable<S> entiies); saveandflush(s entities); deleteInBatch(Iterable<T> entities); T getOne(ID id);

配置使用jap,在配置类中注解@EnableJpaRepositories("com.xxx"),并配置datasource,等

JPA定义查询方法中,而方法名是根据属 性名来确定的,如果List<Person> findByName(String name),FindByNameLike(String name); 

限制行数据可用first10或者top20等,如findFirst10ByName(String name),

在实体类中还支持注解NamedQuery查询,@Query查询

@entity

@NamedQuery(name="Person.findByName",query="select * from......")

public class Person(){}

@Query("select * from.....")

List<Person> findByAddress(String address)

更新语句还支持@Modify和@Query组合

@Modify

@Query("update set...p.name=?1")

int setName(String name)

传参数两种方式,一种是带顺序号,如果xxx=?1,一种是参数名:address,在形参前加注解@Parm("address") ,如 int setAddress(@Parm("address") String address)