微服务项目实战笔记4

集成spring data JPA

JPA是Sun官方提出的Java持久化规范。所谓规范,即只定义标准规则,不提供现实。
spring Data JPA最顶层的接口是Repository,该接口是所有Repository类的父类。

package com.springboot.demo.repository;

import com.springboot.demo.repository.model.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface AyUserRepository extends JpaRepository<User,String> {
}

package com.springboot.demo.repository.model;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "t_sys")
public class User {
    //主键
    @Id
    private String id;

}

@Entity : 每个持久化POJO类都是一个实体bean,通过类的定义中使用该注解进行声明
@Table: 声明此对象映射到数据库的数据表。该注释不是必须的,如果没有,系统就会使用默认值(实体类的短类名)
@Id : 是指标的主键
@Service: spring boot 会自动扫描到@Component注解的类,并把这些类放入spring容器中管理。也可以用@Component注解,只是@Service注解更能表明是服务层类
@Component: 当组件不好归类时,使用该注解进行标注
@Repository: 持久层组件,用于标注数据访问组件,即DAO组件
@Resource: 这个注解属于J2EE,默认按照名称进行装配,名称可以通过name属性进行指定。如果没有指定name属性,当注解写在字段上面时,就默认取字段名进行查找。如果注解写在setter方法上,就默认属性名进行装配。当找不到与名称匹配的bean时,才按照类型装配。
@Autowired:这个注解属于spring,默认按照类型装配。

分页简单实现

 @Override
    public Page<User> findAll(Pageable pageable) {
        return ayUserRepository.findAll(pageable);
    }

自定义查询方法
spring data jpa为我们制订了一系列的规范,只要按照规范编码写代码,就会翻译成相应的sql语句
例如可以使用findBy like in等关键字
findBy可以用read readBy query queryBy get getBy等来代替。

测试ASSERT
assert: 添加Assert断言是软件开发中的一种常见调试方式。从理论上来说,通过Assert断言方式可以证明程序的正确性。提供了很多好方法,例如:isNull、isTrue等

你可能感兴趣的:(java)