下面是详细的“Spring Boot 添加MySQL数据库及JPA实例”的攻略。
1. 准备工作
- 安装Java和MySQL
- 新建Spring Boot项目(可使用IntelliJ IDEA等集成开发环境)
2. 添加MySQL依赖
在pom.xml
文件中添加mysql-connector-java
和spring-boot-starter-data-jpa
依赖。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
3. 配置数据库连接和JPA
在application.properties
配置文件中添加数据库连接信息和JPA配置。
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
spring.datasource.username=your_database_username
spring.datasource.password=your_database_password
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
4. 创建实体类和数据访问接口
创建一个新的实体类,并使用@Entity
和@Id
注解,指定表名和主键。接着创建一个数据访问接口,使用@Repository
和@Transactional
注解,定义相应的数据访问方法。
示例1:创建实体类
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// getter、setter、toString方法省略
}
示例2:创建数据访问接口
@Repository
@Transactional
public interface UserRepository extends JpaRepository<User, Long> {
User findUserByEmail(String email);
List<User> findUsersByNameContaining(String name);
}
5. 使用数据访问接口
在Spring Boot的控制器或服务中使用数据访问接口中定义的数据访问方法实现相应功能。
示例3:在控制器中使用数据访问接口
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userRepository.findById(id).orElse(null);
}
@GetMapping
public List<User> getAllUsers() {
return userRepository.findAll();
}
@PostMapping
public User addUser(@RequestBody User user) {
return userRepository.save(user);
}
@PutMapping("/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User user) {
User existingUser = userRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("User not found"));
existingUser.setName(user.getName());
existingUser.setEmail(user.getEmail());
return userRepository.save(existingUser);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) {
userRepository.deleteById(id);
}
}
以上就是完整的“Spring Boot 添加MySQL数据库及JPA实例”的攻略了,希望能对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot 添加MySQL数据库及JPA实例 - Python技术站