一、依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
二、application.properties配置:
spring.datasource.username:root
spring.datasource.password:root
spring.darasource.url: jdbc:mysql://127.0.0.1:3306/databasename?serverTimezone=GMT%2B8
#mysql8.x版本驱动包,要使用以下类作为驱动类,一般都用不到
#spring.darasource.driver-class-name: com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.MySQL57Dialect
三、实体类(getset方法和有参无参构造函数都要上)
@Entity //说明 它是和数据表映射的类
@Table(name = "tbl_user") //指定对应映射的表名,省略不写默认表名是类同 user
public class User {
@Id //指定主键
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "user_name", length = 5)//与数据表对应的一个字段
private String username;
@Column //省略不写默认字段名就是属性名
private String password;
四、创建接口UserRepository继承JpaRepository,就会底层实现crud及分页等基本功能
public interface UserRepository extends JpaRepository<UserRepository,Integer> {
}
五、测试Controller:
@RestController
public class UserController {
@Autowired
UserRepository userRepository;
@GetMapping("/user/{id}")
public User getUserById(@PathVariable("id") Integer id) {
return userRepository.fifindById(id).get();
}
@GetMapping("/user")
public User addUser(User user) {
return userRepository.save(user);
}
}