整合
SpringData JPA
JPA使用的是ORM思想
(
Object Relational Mapping
);
1
)、编写一个实体类(
bean
)和数据表进行映射,并且配置好映射关系;
//使用JPA注解配置映射关系
@Entity //告诉JPA这是一个实体类(和数据表映射的类)
@Table(name = "tbl_user") //@Table来指定和哪个数据表对应;如果省略默认表名就是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;
2
)、编写一个
Dao
接口来操作实体类对应的数据表(
Repository
)
//继承JpaRepository来完成对数据库的操作
public interface UserRepository extends JpaRepository<User,Integer> {
}
3
)、基本的配置
JpaProperties
spring: datasource: username: root password: 123456 url: jdbc:mysql://192.168.93.134:3306/myemployees driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource jpa: hibernate: # 更新或者创建数据表结构,会根据实体类的映射关系创建表 ddl-auto: update # 控制台显示SQL show-sql: true
测试接口
@RestController
public class UserController {
@Autowired
UserRepository userRepository;
@GetMapping("/user/{id}")
public User getUser(@PathVariable("id") Integer id){
User user = userRepository.getOne(id);
return user;
}
@GetMapping("/user")
public User insertUser(User user){
User save = userRepository.save(user);
return save;
}
}