- vừa được xem lúc

Tạo một REST APIs bằng Java Spring Boot và sử dụng MySQL làm cơ sở dữ liệu

0 0 1

Người đăng: CHAU VU LUAN

Theo Viblo Asia

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!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tổng hợp các bài hướng dẫn về Design Pattern - 23 mẫu cơ bản của GoF

Link bài viết gốc: https://gpcoder.com/4164-gioi-thieu-design-patterns/. Design Patterns là gì. Design Patterns không phải là ngôn ngữ cụ thể nào cả.

0 0 282

- vừa được xem lúc

Học Spring Boot bắt đầu từ đâu?

1. Giới thiệu Spring Boot. 1.1.

0 0 258

- vừa được xem lúc

Cần chuẩn bị gì để bắt đầu học Java

Cần chuẩn bị những gì để bắt đầu lập trình Java. 1.1. Cài JDK hay JRE.

0 0 37

- vừa được xem lúc

Sử dụng ModelMapper trong Spring Boot

Bài hôm nay sẽ là cách sử dụng thư viện ModelMapper để mapping qua lại giữa các object trong Spring nhé. Trang chủ của ModelMapper đây http://modelmapper.org/, đọc rất dễ hiểu dành cho các bạn muốn tìm hiểu sâu hơn. 1.

0 0 180

- vừa được xem lúc

[Java] 1 vài tip nhỏ khi sử dụng String hoặc Collection part 1

. Hello các bạn, hôm nay mình sẽ chia sẻ về mẹo check String null hay full space một cách tiện lợi. Mình sẽ sử dụng thư viện Lớp StringUtils download file jar để import vào thư viện tại (link).

0 0 55

- vừa được xem lúc

Deep Learning với Java - Tại sao không?

Muốn tìm hiểu về Machine Learning / Deep Learning nhưng với background là Java thì sẽ như thế nào và bắt đầu từ đâu? Để tìm được câu trả lời, hãy đọc bài viết này - có thể kỹ năng Java vốn có sẽ giúp bạn có những chuyến phiêu lưu thú vị. DJL là tên viết tắt của Deep Java Library - một thư viện mã ng

0 0 124