κ²μκΈ λ¦¬μ€νΈ
java, springμ 곡λΆνλ©° μ΄λ₯Ό μ΄μ©ν΄μ μμ νλ‘μ νΈλΌκ³ ν΄λ΄μΌκ² λ€κ³ λ μκ°μ νμ΅λλ€.
λ λ―Έλ£¨κΈ°λ§ νλ€κ° μ§μ§ λλΌλ ν΄μΌκ² λ€λ μκ°μ κ°μ₯ νλ²ν κ²μν λ§λ€κΈ°λ₯Ό μμνμ΅λλ€.
κ°λ° λꡬ
νΌμ μμνκΈ°μλ λ§λ§ν΄μ νμ½λ©λμ κ²μν λ§λ€κΈ°λ₯Ό λ°λΌμ κ²μνμ μμ±ν΄λ³Έ ν μ λ§μ κ²μνμ λ§λ€μμ΅λλ€.
λ©μΈ νμ΄μ§
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>λ©μΈ νμ΄μ§</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background-color: #f4f4f4;
}
.container {
text-align: center;
padding: 20px;
background-color: white;
border-radius: 8px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
.btn {
display: inline-block;
padding: 10px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
}
</style>
</head>
<body>
<div class="container">
<h1>κ²μν λ©μΈ νμ΄μ§</h1>
<a class="btn" href="board/write">κ²μκΈ μμ±</a>
<a class="btn" href="board/list">κ²μκΈ λ¦¬μ€νΈ</a>
</div>
</body>
</html>
GPTλ₯Ό νμ©ν΄μ λ§λ λ©μΈ νμ΄μ§μ λλ€. GPTμκ² κ²μκΈ μμ± λ²νΌκ³Ό κ²μκΈ λ¦¬μ€νΈ λ²νΌμ λ§λ λ€ κΎΈλ©°λ¬λΌκ³ νλλ μμκ² μμ±ν΄μ€¬μ΅λλ€. html λΆλΆμ λ¬ΈμΈνμ΄λ λ€λ¦μ΄ μλ€λ³΄λ λ§λ§νλλ° GPTλ₯Ό μ¬μ©νλ μ¬λ―Έλ μκ³ λ¬Έμ κ° λλ λΆλΆλ ν΄κ²°μ΄ λμμ΅λλ€.
κ²μκΈ μμ± νμ΄μ§
κ²μκΈ μμ± νμ΄μ§λ μ λͺ©, μμ±μ, λ΄μ©μ μμ±ν μ μκ² λ§λ€μκ³ μ λͺ©μ κΈΈμ΄λ 25μ μ νμ λμμ΅λλ€. λν λ΄μ©μ μΌμ κΈΈμ΄κ° λμ΄κ°λ©΄ μλμΌλ‘ μ€λ°κΏμ΄ λλλ‘ μ€μ νμμ΅λλ€.
// BoardRepository
package com.studyweb.webboard.repository;
import com.studyweb.webboard.entity.Board;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface BoardRepository extends JpaRepository<Board, Integer> {
}
Repositoryλ JpaRepositoryλ₯Ό μμ λ°μμ μ¬μ©μ νκ³
// κ²μκΈ μμ± μ²λ¦¬
@PostMapping("/board/write")
public String boardWrite(Board board, Model model) {
boardService.save(board);
model.addAttribute("message", "κΈ μμ±μ΄ μλ£λμμ΅λλ€.");
model.addAttribute("searchUrl", "/board/list");
return "message";
}
'μμ± μλ£' λ²νΌμ λλ₯΄λ©΄ /board/write
λ‘ μμ²μ΄ κ°μ μμ λ‘μ§μ΄ μ€νμ΄ λ©λλ€. boardServiceμ ꡬνλμ΄ μλ saveλ₯Ό ν΅ν΄μ DBμ μ λ³΄κ° μ μ₯μ΄ λκ³ model.addAttribute("message", "κΈ μμ±μ΄ μλ£λμμ΅λλ€.");
λΆλΆμ΄ μ€νμ΄ λλ©΄μ νλͺ
μ 'κΈ μμ±μ΄ μλ£λμμ΅λλ€.'λΌλ λ©μμ§κ° λμ΄μ§λλ‘ λ§λ€μμ΅λλ€.
κ²μκΈ λ¦¬μ€νΈ νμ΄μ§
κ²μκΈ λ¦¬μ€νΈ νμ΄μ§λ μ μ¬μ§μ²λΌ λ§λ€μκ³ μ λͺ©μ ν΄λ¦νλ©΄ κ²μκΈ μμΈ νμ΄μ§λ‘ μ΄λνκ² λ§λ€μμ΅λλ€.
μμ± μκ° κ΅¬νμ λν΄μλ λ€μ κΈμμ μμ±νλλ‘ νκ² μ΅λλ€.
κ²μκΈ μμΈ νμ΄μ§
κ²μκΈ μμΈ νμ΄μ§μ λλ€. κ²μκΈ μμ , μμ , λͺ©λ‘μΌλ‘ λμκ°κΈ° λ²νΌμ΄ μκ³ κ²μκΈμ μμ νλ€λ©΄ μμ μκ°μ΄ νμλλλ‘ λ§λ€μμ΅λλ€.
DBλ Maria DBλ₯Ό μ¬μ©νμκ³
JpaRepository μΈν°νμ΄μ€λ₯Ό μμλ°μμ Repository κΈ°λ₯μ ꡬννμ΅λλ€. μ΄ λΆλΆμ μΆνμ JPA νλ‘κ·Έλλ°μ 곡λΆν΄μ λͺ¨λ μμ μ ν κ³νμ
λλ€.
νλ‘ νΈμ λμμΈμ μ κ° html, css μ§μμ΄ μκΈ° λλ¬Έμ λͺ¨λ Ghat-GPTμ λμμ λ°μμ΅λλ€. νλ‘ νΈ λΆλΆμ μ΄λ»κ² λ§λ€μ§.. κ³ λ―Όνλ€κ° GPTλ₯Ό μ¬μ©ν΄λ΄€λλ° μμ ν λΆλΆλ λ§μμ§λ§ λ§€μ° μ μ©νκ² μ¬μ©νμ΅λλ€.
μ΄ κΈμ μΆνμ μμ μ΄ λ μλ μμ΅λλ€. νμ¬μ μ‘°μ‘ν κ²μνμ λ³΄κ³ μ‘°κΈ ννκ° μλ€κ° μ΄λλ‘λ μλκ² λ€ μΆμ΄μ κΈνκ² λΈλ‘κ·Έλ₯Ό μμ±νκΈ° λλ¬Έμ μ 리λ μ λμ΄μκ³ λ΄μ©λ λ§μ΄ λΆμ‘±νκΈ° λλ¬Έμ λλ€.
μ°μ λ€μμΌλ‘ μμ±ν κΈμ μμ±μκ°, μμ μκ° κΈ°λ₯μ μΆκ°μ νμ΄μ§ μ²λ¦¬, κ²μ κΈ°λ₯ λ±μ μΆκ°ν κ³νμ λλ€.
κ·Έ μ΄νμλ λ‘κ·ΈμΈ κΈ°λ₯, Validation, νν° λ±λ±μ κΈ°λ₯μ μΆκ°νλ©° νμ¬μ μ‘°μ‘ν κ²μνμ μ κ·Έλ μ΄λν κ³νμ λλ€.
μμΈν μ½λλ μλμ Github λ§ν¬λ₯Ό μ°Έμ‘°ν΄μ£ΌμΈμ!