1、引入pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2、定义实体类,与数据库里的表对应:
实体类:
@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()...
}
数据库表:
注释:
- @Table指定对应数据库的表名
- @Id表示该属性为数据表主键
- @GeneratedValue表示生成主键的策略,这里依赖数据库递增策略
- @Column标注属性名与数据库的字段名对应。
3、定义JPA接口
@Repository
public interface JpaUserRepository extends JpaRepository<User, Long> {
}
该接口不需要实现类,Spring会根据JPA接口规范帮我们实现。
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对应的接口,即可得到从数据库读取的User值。