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值。