[MyBatis] MyBatis 란?
·
BackEnd/JAVA
MyBatis 란 MyBatis는 Java 애플리케이션에서 데이터 베이스와의 상호작용을 쉽게 하기 위한 ORM(Object Relational Mapping) 프레임워크이다.MyBatis는 SQL을 기반으로 한 SQL 매퍼로, SQL 쿼리, 저장 프로시저 등을 XML이나 어노테이션으로 매핑하여 관리할 수 있다.Java는 JDBC api를 제공해주지만, 이런 JDBC를 이용하면 1개 클래스에 반복된 코드가 존재, 한 파일에 java 언어와 sql 언어가 함께 있어서 재사용성이 떨어진다는 단점이 있는데, MyBatis는 이러한 단점들을 개선했으며, 개발자가 작성한 SQL 명령어와 Java 객체를 매핑해주는 기능을 제공하고, 기존에 사용하던 SQL 명령어를 재사용 할 수 있다. MyBatis의 주요 특징 JD..
Spring Boot 자동 재시작 안됨...
·
Error
spring boot 프로젝트를 잘만 사용하고 있었는데 갑자기 어느 순간부터 자동 재시작(서버 reload) 가 안돼서 계속 서버를 껐다가 run as를 다시 해줘야해서 너무 번거로웠다.. 그래서 설정을 열심히 찾아본 결과 아래와 같이 해결했다!! 일단 나는 spring boot 프로젝트를 gradle 로 사용하고 있었다. eclipse 내에서는 전부 같은 설정으로 해결되는지는 모르겠지만!!  이클립스 탭에서 project 를 선택했을때 Build Automatically 체크가 해제 되어있었는데  체크 설정 해주니까 이전 처럼 자동 재시작 (server reload) 가 잘되면서 해결되었다!!
<작심삼주 오블완 챌린지>
·
일상~
https://www.tistory.com/event/write-challenge-2024 작심삼주 오블완 챌린지오늘 블로그 완료! 21일 동안 매일 블로그에 글 쓰고 글력을 키워보세요.www.tistory.com내일부터 시작하는 오블완 챌린지!!오블완 챌린지도 열심히 참여하고 공부도 열심히 해봐야겠다!! 동기부여 짱짱 아자자!!💪🏻💪🏻
Coding Test Practice_4
·
Coding Test Practice
더 이상 미룰 수 없다 나의 공부... LV.0 / JAVA   [PCCE 기출문제] 4번 / 병과분류   #include using namespace std;int main(void) { string code; cin >> code; string last_four_words = code.substr(code.size()-4, 4); if(last_four_words == "_eye"){ cout  이 문제는 쉬워서 괄호 한 번 깜빡한 것 말고는 한 번에 통과했다.다음 문제까지 풀고 난이도를 높여볼까하는 생각이 들었다.  LV.0 / JAVA   [PCCE 기출문제] 5번 / 심폐소생술  첫번째 풀이#include #include using namespace std;ve..
Entity 와 DTO의 개념과 차이점
·
BackEnd/Spring
Entity Entity 클래스는 실제 DB 테이블과 매핑되는 핵심 클래스로, 데이터 베이스의 테이블에 존재하는 컬럼들을 필드로 가지는 객체이다. DB의 테이블과 1:1로 매핑되며, 테이블이 가지지 않는 컬럼을 필드로 가져서는 안된다.또한, Entity는 데이터 베이스와 연동되기 때문에 수정이 가능하며, Entity의 데이터가 변경되면 그 변경 사항이 데이터 베이스에 반영될 수 있다.Entity는 데이터 베이스 영속성 (persistent)의 목적으로 사용되는 객체이기 때문에 요청(Request) 나 응답(Response) 값을 전달하는 클래스로 사용하는 것은 좋지 않다.또, 많은 서비스 클래스와 비즈니스 로직들이 Entity  클래스를 기준으로 동작하기 때문에 Entity  클래스가 변경되면 여러 클래..
[Thymeleaf] 3. 사용 예시 (기본, 레이아웃)
·
BackEnd/Spring
Thymeleaf practice 1타임리프 결과 출력메세지 : 메세지 출력 장소-->메세지 : [[${msg}]]"|문자열|"지역 변수 처리 : 변수는 span tag 내에서만 유효 관계 연산 : = 4"> 조건 연산(if, unless) : 5?'크구나':'작네'">삼항 연산조건 연산(true) : 3">조건이 참일때 수행조건 연산(false) : 조건이 거짓일때 수행switch 조건문 : 모르는 이름이에요DTO 자료 출력 : getter 사용getCode 호출getSang 호출[[${sangpum.price}]] [[*{['price']}]]반복 처리 : 코드품명가격 [[${s.code}]][[${s.sang}]][[${s.price}]]   Thymeleaf prac..
[Thymeleaf] 2. Thymeleaf 문법
·
BackEnd/Spring
Thymeleaf의 목표 Thymeleaf의 주 목표는 템플릿을 만들 때 유지관리가 쉽도록 하는 것이다. 이를 위해 디자인 프로토타입으로 사용되는 템플릿에 영향을 미치지 않는 방식인 Natural Templates을 기반으로 한다. Natural Templates은  기존 HTML 코드와 구조를 변경하지 않고 덧붙이는 방식이다.  Thymeleaf의 장점코드를 변경하지 않기 때문에 디자인 팀과 개발 팀 간의 협업이 쉽다.JSP와 달리 Servlet Code로 변환되지 않기 때문에 비즈니스 로직과 분리되어 View에 집중할 수 있다.서버 상에서 동작하지 않기 때문에 서버없이 화면을 확인 할 수 잇다. 그래서 더미 데이터를 넣고 화면 디자인 및 테스트에 용이하다. Thymeleaf Namespace Thym..
[Thymeleaf] 1. Thymeleaf 의 특징과 설정 방법
·
BackEnd/Spring
Thymeleaf란 Java 기반의 서버 사이드 템플릿 엔진으로, Spring Boot에서 주로 사용되는 템플릿 엔진이며, HTML, XML, JavaScript, CSS 및 일반 텍스트를 처리할 수 있는 웹 및 독립형 환경에서 사용할 수 있다. Thymeleaf는 HTML 파일을 가져와서 파싱하여 분석 후 정해진 위치에 데이터를 치환해서 웹 페이지를 생성한다. 더보기HTML : compile 없이 클라이언트 쪽 브라우저에서 해석(파싱)해 바로 출력해 준다.JavaScript : 브라우저 위에서 구동하므로 서버 템플릿 엔진의 손을 벗어나 제어할 수 없다. Template Engine 이란? : 프로그램 로직을 표현하는 계층과 서비스를 사용하는 유저가 보는 데이터 출력을 위한 프레젠테이션 계층을 분리하기 ..
Coding Test Practice_3
·
Coding Test Practice
기본 문제들을 풀다가 PCCE 기출문제가 새로 등록되어있길래 시작해보았다. LV.0 / JAVA   [PCCE 기출문제] 1번 / 문자 출력 #include using namespace std;int main(void) { string message = "Let's go!"; cout  처음에 어렵게 생각하고 이리저리 생각했는데 그냥 줄바꾸기만 해주면 되는 문제였다...  LV.0 / JAVA   [PCCE 기출문제] 2번 / 각도 합치기 #include using namespace std;int main(void) { int angle1; int angle2; cin >> angle1 >> angle2; int sum_angle = angle1 + angle2; ..
Spring Annotaion 알아보기
·
BackEnd/Spring
Annotation 이란?  Spring Framework에서 사용되는 메타데이터를 제공하는 방식으로, 사전적 의미로는 주석이라는 뜻이다.자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 클래스, 메서드, 필드 등에 다양한 기능을 부여할 수 있다.이를 통해 XML 설정 파일을 줄이고 코드의 가독성과 관리성을 높일 수 있다. Annotation의 용도 어노테이션을 사용하면 코드가 깔끔해지고 재사용이 가능하다.컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다.소프트웨어 개발 툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보를 제공한다.실행시 (런타임시) 특정 기능을 실행하도록 정보를 제공한다. Annotation 사용 순서 어노테이션 정의클래스에 어노테이션 배치코드가 실행되는 ..