# springboot-jpa **Repository Path**: mjkapps/springboot-jpa ## Basic Information - **Project Name**: springboot-jpa - **Description**: 简单的springboot+jpa的整合 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-02-13 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # springboot-jpa #### 介绍 简单的springboot+jpa的整合 #### JPA简单理解 SpringDataJPA是基于HIbernate开发的一个框架,可以说是Hibernate现阶段发展到极致的表现. JPA是一个对象映射(ORM)框 #### 操作 1. 添加依赖 ``` org.springframework.boot spring-boot-starter-data-jpa ``` 2. application.yml中进行配置 ``` spring: jpa: hibernate: #更新或者创建数据表结构 ddl-auto: update #控制台显示SQL show-sql: true ``` 3. 编程entity类,使用JPA注解配置映射关系 ``` @Entity //告诉JPA这是一个实体类(和数据表映射的类) @Table(name = "tb1_user") //指定和哪个数据表对应;如果省略默认使用表名 public class User { @Id //这是一个主键 @GeneratedValue(strategy = GenerationType.IDENTITY)//主键自增 private Integer id; @Column(name = "last_name",length = 50) //这是和数据表对应的一个列 private String lastName; @Column //默认设置列名就是属性名 private String email; ``` 4. 编写接口继承JpaRepository来完成对数据库的操作 编写的接口中可以使用@Query注解来定制sql语句 ``` /** 使用原生sql:nativeQuery = true */ @Query(nativeQuery = true,value="select username from User where id=:id") public Object listById(@Param("id") Integer id); ``` 5. 注入UserRepository来使用方法,与Hibernate中的操作一样,jpa会自动生成sql语句,不用我们自己写. ``` @GetMapping("/user/{id}") public Optional getUser(@PathVariable("id")Integer id){ Optional user = userRepository.findById(id); return user; } ```