Spring Boot 整合 JPA:
1,引入spring-boot-starter-data-jpa:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2,yml配置文件进行连接数据库配置:
spring:
datasource:
url: jdbc:mysql://localhost:3306/testday
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
3,创建Entity实体类标注JPA注解:
//使用JPA注解,配置映射关系
@Entity //告诉JPA这是一个实体类(和数据表映射的类)
@Table(name = "tbl_user") // 指定和哪个数据表对应,如果省略默认表名就是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;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
4,创建repository接口继承JpaRepository:
//继承JpaRepository来完成对数据库的操作
public interface UserRepository extends JpaRepository<User,Integer> { }
5,在yml配置文件中进行基本的配置(参照:JpaProperties类):
jpa:
hibernate:
# 更新或者创建数据表结构
ddl-auto: update
# 控制台显示SQL
show-sql: true
6,运行项目,就会在数据库中创建一个tbl_user表:
7,编写一个Controller进行测试:
为了方便就使用get请求:
@RestController
public class UserController {
@Autowired
UserRepository userRepository;
@GetMapping("/user/{id}")
public User getUser(@PathVariable("id") Integer id){
return userRepository.findOne(id);
}
@GetMapping("user")
public User insertUser(User user){
return userRepository.save(user);
}
}
8,重新启动项目,在url中插入数据然后请求访问:localhost:8080/user?lastName=AAA&email=aa
9,访问:localhost:8080/user/1
OK,完成!