SpringBoot使用JPA

1、引入pom依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2、定義實體類,與數(shù)據(jù)庫里的表對應(yīng):

實體類:

@Entity(name = "user")
@Table(name = "t_user")
public class User implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "user_name")
    private String userName;

    private Integer sex;

    private String note;

    // getter() and setter()...
}

數(shù)據(jù)庫表:


注釋:

  • @Table指定對應(yīng)數(shù)據(jù)庫的表名
  • @Id表示該屬性為數(shù)據(jù)表主鍵
  • @GeneratedValue表示生成主鍵的策略,這里依賴數(shù)據(jù)庫遞增策略
  • @Column標注屬性名與數(shù)據(jù)庫的字段名對應(yīng)。

3、定義JPA接口

@Repository
public interface JpaUserRepository extends JpaRepository<User, Long> {
}

該接口不需要實現(xiàn)類,Spring會根據(jù)JPA接口規(guī)范幫我們實現(xiàn)。

4、定義Controller

@Controller
@RequestMapping(value = "/")
@Slf4j
public class UserController {

    @Autowired
    private JpaUserRepository jpaUserRepository;

    @GetMapping("/getUser")
    public Object findUserById(Long id) {
        return jpaUserRepository.findById(id).get();
    }
}

5、向SpringBoot指定掃描接口和實體類路徑

@SpringBootApplication
@EnableJpaRepositories("com.example.demo.dao")
@EntityScan("com.example.demo.entity")
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

啟動項目,訪問controller對應(yīng)的接口,即可得到從數(shù)據(jù)庫讀取的User值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。