diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..6fe96f9 --- /dev/null +++ b/.classpath @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..b02cd1e --- /dev/null +++ b/.project @@ -0,0 +1,28 @@ + + + app + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.springframework.ide.eclipse.boot.validation.springbootbuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..839d647 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.apt.core.prefs b/.settings/org.eclipse.jdt.apt.core.prefs new file mode 100644 index 0000000..dfa4f3a --- /dev/null +++ b/.settings/org.eclipse.jdt.apt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.apt.aptEnabled=true +org.eclipse.jdt.apt.genSrcDir=target/generated-sources/annotations +org.eclipse.jdt.apt.genTestSrcDir=target/generated-test-sources/test-annotations diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3cba0a0 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,10 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.methodParameters=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=enabled +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..96b30f9 --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles=pom.xml +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/.settings/org.springframework.ide.eclipse.prefs b/.settings/org.springframework.ide.eclipse.prefs new file mode 100644 index 0000000..a12794d --- /dev/null +++ b/.settings/org.springframework.ide.eclipse.prefs @@ -0,0 +1,2 @@ +boot.validation.initialized=true +eclipse.preferences.version=1 diff --git a/src/main/java/app/api/controller/EmpAPIController.java b/src/main/java/app/api/controller/EmpAPIController.java index 1074350..f9548fa 100644 --- a/src/main/java/app/api/controller/EmpAPIController.java +++ b/src/main/java/app/api/controller/EmpAPIController.java @@ -1,14 +1,26 @@ package app.api.controller; +import app.entity.Dept; +import app.entity.Emp; import app.repository.EmpRepository; +import app.service.EmpService; import lombok.RequiredArgsConstructor; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor @RestController +@RequestMapping("/api") public class EmpAPIController { - private final EmpRepository empRepository; - - + private final EmpService empService; + + @GetMapping("/emp/{empno}") + public Emp getDeptByDeptno(@PathVariable Integer empno) { + Emp emp = empService.getEmpByEmpno(empno); + return emp; + } } \ No newline at end of file diff --git a/src/main/java/app/service/EmpService.java b/src/main/java/app/service/EmpService.java index d37d33f..0e5872e 100644 --- a/src/main/java/app/service/EmpService.java +++ b/src/main/java/app/service/EmpService.java @@ -1,6 +1,9 @@ package app.service; +import app.entity.Emp; import app.repository.EmpRepository; +import jakarta.persistence.EntityNotFoundException; +import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -9,4 +12,10 @@ public class EmpService { private final EmpRepository empRepository; + + @Transactional + public Emp getEmpByEmpno(Integer empno) { + return empRepository.findById(empno) + .orElseThrow(() -> new EntityNotFoundException("사원 정보가 존재하지 않습니다.")); + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index ceb6305..5b34e42 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -5,7 +5,7 @@ server.address=0.0.0.0 # DB spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.url=jdbc:mysql://192.168.64.6:3306/app?serverTimezone=Asia/Seoul +spring.datasource.url=jdbc:mysql://localhost:3306/app?serverTimezone=Asia/Seoul spring.datasource.username=app spring.datasource.password=app diff --git a/target/classes/META-INF/MANIFEST.MF b/target/classes/META-INF/MANIFEST.MF new file mode 100644 index 0000000..795a8e2 --- /dev/null +++ b/target/classes/META-INF/MANIFEST.MF @@ -0,0 +1,6 @@ +Manifest-Version: 1.0 +Build-Jdk-Spec: 17 +Implementation-Title: app +Implementation-Version: 0.0.1-SNAPSHOT +Created-By: Maven Integration for Eclipse + diff --git a/target/classes/META-INF/maven/app/app/pom.properties b/target/classes/META-INF/maven/app/app/pom.properties new file mode 100644 index 0000000..7bba251 --- /dev/null +++ b/target/classes/META-INF/maven/app/app/pom.properties @@ -0,0 +1,7 @@ +#Generated by Maven Integration for Eclipse +#Mon May 12 15:43:56 KST 2025 +m2e.projectLocation=C\:\\CE\\99.practice\\collab\\notice-board-practice +m2e.projectName=notice-board-practice +groupId=app +artifactId=app +version=0.0.1-SNAPSHOT diff --git a/target/classes/META-INF/maven/app/app/pom.xml b/target/classes/META-INF/maven/app/app/pom.xml new file mode 100644 index 0000000..d52b684 --- /dev/null +++ b/target/classes/META-INF/maven/app/app/pom.xml @@ -0,0 +1,82 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.3.6 + + + app + app + 0.0.1-SNAPSHOT + app + Demo project for Spring Boot + + + + + + + + + + + + + + + 17 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.mysql + mysql-connector-j + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/target/classes/application.properties b/target/classes/application.properties index ceb6305..5b34e42 100644 --- a/target/classes/application.properties +++ b/target/classes/application.properties @@ -5,7 +5,7 @@ server.address=0.0.0.0 # DB spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.url=jdbc:mysql://192.168.64.6:3306/app?serverTimezone=Asia/Seoul +spring.datasource.url=jdbc:mysql://localhost:3306/app?serverTimezone=Asia/Seoul spring.datasource.username=app spring.datasource.password=app