1.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>runtime</scope>
</dependency>
2.配置数据源和jpa
spring:
datasource:
url: jdbc:mysql:///jpa
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
jpa:
hibernate:
ddl-auto: update # 更新或者创建数据表结构
# 控制台显示sql
show-sql: true
3.创建实体类并指明映射关系
import javax.persistence.*;
@Entity // 告诉JPA这是一个和数据表映射的类
@Table(name = "tab_user") //@Table指定此类和哪个数据表对应,省略默认表名就是类名小写(user)
public class User {
@Id //这是一个主键
@GeneratedValue(strategy = GenerationType.IDENTITY) // 指明主键的生成策略
private Integer id;
@Column(name = "name") // 表明这是和数据表中对应的列
private String name;
@Column //省略时默认为属性名
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
4.编写Dao接口,并继承JpaRepository
// 其中JpaRepository中的两个泛型:第一个表示要操作的实体类,第二个为主键的类型
public interface UserRepository extends JpaRepository<User, Integer> {
}
5.Service层调用Dao接口
@Service
public class UserService {
@Autowired
UserRepository userRepository;
public User getUser(Integer id) {
// 根据Id查询用户
Optional<User> userOptional = userRepository.findById(id);
return userOptional.get();
}
public void saveUser(User user) {
// 将user保存到数据库中
userRepository.save(user);
}
}