整合
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: rootpassword: 123456url: jdbc:mysql://192.168.93.134:3306/myemployeesdriver-class-name: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourcejpa:hibernate:# 更新或者创建数据表结构,会根据实体类的映射关系创建表ddl-auto: update# 控制台显示SQLshow-sql: true
测试接口
@RestController
public class UserController {@AutowiredUserRepository 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;}}