Bước 1: Chuẩn bị môi trường
Cài đặt Java Development Kit (JDK). Cài đặt IntelliJ IDEA hoặc IDE Java khác (không bắt buộc nhưng được khuyến nghị). Cài đặt MySQL.
Bước 2: Tạo dự án Spring Boot mới
Bước này bạn có thể thực hiện bằng cách truy cập Spring Initializr hoặc sử dụng IntelliJ IDEA để tạo một dự án mới với Spring Initializr.
Bước 3: Tạo model User
import javax.persistence.*; @Entity
@Table(name = "users")
public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false, unique = true) private String username; @Column(nullable = false) private String password; // Constructors, getters, setters
}
Bước 4: Tạo UserRepository
import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository<User, Long> {
}
Bước 5: Tạo Controller
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import java.util.List; @RestController
@RequestMapping("/api/users")
public class UserController { @Autowired private UserRepository userRepository; @GetMapping public List<User> getAllUsers() { return userRepository.findAll(); } @GetMapping("/{id}") public ResponseEntity<User> getUserById(@PathVariable(value = "id") Long userId) { User user = userRepository.findById(userId) .orElseThrow(() -> new ResourceNotFoundException("User not found with id: " + userId)); return ResponseEntity.ok().body(user); } @PostMapping public User createUser(@RequestBody User user) { return userRepository.save(user); } @PutMapping("/{id}") public ResponseEntity<User> updateUser(@PathVariable(value = "id") Long userId, @RequestBody User userDetails) { User user = userRepository.findById(userId) .orElseThrow(() -> new ResourceNotFoundException("User not found with id: " + userId)); user.setUsername(userDetails.getUsername()); user.setPassword(userDetails.getPassword()); final User updatedUser = userRepository.save(user); return ResponseEntity.ok(updatedUser); } @DeleteMapping("/{id}") public ResponseEntity<Void> deleteUser(@PathVariable(value = "id") Long userId) { User user = userRepository.findById(userId) .orElseThrow(() -> new ResourceNotFoundException("User not found with id: " + userId)); userRepository.delete(user); return ResponseEntity.ok().build(); }
}
Bước 6: Tạo Exception Handler
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus; @ResponseStatus(value = HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException { public ResourceNotFoundException(String message) { super(message); }
}
Bước 7: Cấu hình cơ sở dữ liệu MySQL
Thêm cấu hình cơ sở dữ liệu vào application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/my_database
spring.datasource.username=root
spring.datasource.password=password
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
Bước 8: Chạy ứng dụng
Chạy ứng dụng Spring Boot của bạn và bạn sẽ có một RESTful API đơn giản để quản lý người dùng thông qua MySQL.
Đây chỉ là một hướng dẫn cơ bản và có thể được mở rộng để thêm các tính năng khác như xác thực người dùng, phân quyền, xác thực JWT, và nhiều hơn nữa. Chúc bạn thành công!