배움 __IL 140

TIL : 64번째- 230308 [3-1-수]

I. 들어가며 update에서 파라미터 타입 쓰면 그 안에서 게터로 쓰는거야 이걸로 쿼리완성해! 왜냐하면 update는 client에서 입력을 한 값을 model(Menu)에 담았는데, 이 담은 값을 getter를 이용해서 받아온 뒤 DB에 저장하기 때문이야 (어제까지 seter를 생각한 이유는 반대로 select로 생각했기 때문이야) II. mybatis 1. foreach (1) 필요성 아주 유용한 것으로 알 수있다 값을 그냥 뽑아내는 경우가 아니라 컬렉션으로 담아서, 그 안의 내용을 foreach로 순회하는 능력이있어! 왜 필요하냐면 반복적인 쿼리문을 작성할 떄 필요해 (2) 용도 예컨데 반복적인 쿼리문으로 id를 뽑아낼때 이용이된다. (3) 실습 1) select * from menu #{id2}..

TIL : 63번째- 230307 [3-1-화]

I. Mybatis 1. 들어가며 (1) yml 정리 1) 그전 경로문제로 yml을 만들었는데, 이것을 제외한 application.properties 만 둔다 spring.servlet.multipart.max-file-size=100MB spring.servlet.multipart.max-request-size=200MB spring.datasource.url=jdbc:mariadb://db.newlecture.com:3306/rlanddb spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.username=rland spring.datasource.password=20220823 mybatis.mapper-loc..

TIL : 62번째- 230304 [3-1-월]

I. Mybatis 1. 들어가며 (1) 의의 Mybatis란 SQL과 그것을 쿼리하는 Dao를 매핑하는 프레임워크이다. Dao를 구현하지 않아도 되는 프레임워크이다. SQL만 작성하면 나머지는 알아서 해주는 프레임워크이다 (2) 준비물 1 Mybatis라이브러리 준비하기 2 구현할 Dao interface 준비하기 3 Dao interface에 SQL Mapping 하기 2. 실습 (1) Mybatis 라이브러리 준비하기- 스프링 starter 에 추가 (2) Dao 인터페이스 준비하기 1) 다음처럼 인터페이스 준비한다. package kr.co.rland.web.repository; import java.util.List; import kr.co.rland.web.entity.Menu; public ..

TIL : 61번째- 230302 [2-4-목]

I. DI 1. XML (1) XML 정리 - 컨테이너에다가 Bean 객체를 만들수 있다. - 이 경우 우리가 bean 객체를 읽을 경우 클래스명이 아니라, name 속성으로 손쉽게 가능하다 - 원래 가져올 때는 구현체를 가지고 와야하지만, 이를 이용하면 인터페이스 명으로 가능하다 1) XML 로 객체를 만드는 방식 serivce name을 붙여서 bean 객체를 읽을 수있다. MenuService service = (MenuService) context.getBean("service"); List list = service.getList(); 2) xml 하나씩 읽는데 번거로워 이를 읽어주는 parser가 있음 (마치 json parser처럼) 이런 parsing한 것들을 담으면 container가 된..

TIL : 60번째- 230228 [2-4-화]

I. 웹개발 1. JDBC (1) 트랜잭션 1) 트랜젝션 각각의 하나는 물리적 명령어이다 계좌이체는 사용자가 원하는 하나의 단위 -> 실행하려면 물리적으로 2번의 업데이트 필요! 서비스는 사용자가 원하는 일 + 이러한 일이 곳 업무단위 => 업무단위 실행하기 위해 물리적으로 여러개 명령어 실행가능 dao 는 CRUD 관련 함수로 구성되어있다 서비스레이어에는 업무라고 함수화 되어있음 업데이트 두번이 깨지면안되는, 즉 두개 다 정상적으로 실행되어야 완료된다. 계좌이체라는 업무단위를 한번에 실행해야되는 업무단위 (작게 진행되는 물리적단위) 트랜잭션 : 업무단위 or 논리적인 명령단위 이러한 업무는 한번에 실행되면 계좌이체가 완벽히 되어야하지만, 그 안에는 자잘하게 물리적으로 엮여야하는데 하나라도 안되면 업무단..

TIL : 58번째- 230224 [2-3-금]

I. 들어가며 프론트 컨트롤러는 스프링부트가 하고 우리가 하는것은 컨트롤러 부분의 pojo 이다! II. 웹개발 1. 뷰 단에 보내주기 즉 컨트롤러에서 출력하기 1) *아웃(풋) 파라미터 : 반환 값을 받기위한 방식 중 하나 일반적으로 함수는 리턴만 반환뿐만 아니라 빈그릇주고, 빈그릇같이 쓰는것 만(Model model)으로 반환이 가능하다. 2) 서블릿 계속 들게(request) 하면 프론트 컨트롤러 의미없어짐 서블릿 아닌 그릇(model)준비해서 담기(addAttribute)! 원룸에서 투룸살면은 방마다 용도 정해놓는것인데, 막쓰면 정한 의미가 없다 3) 스프링이 Model을 이용해서 model에 값을 채우면 전달이된다 package kr.co.rland.web.controller; import or..

TIL : 57번째- 230223 [2-3-목]

I. 들어가며 지난시간 STS 설치했음 II. 스프링 setting 1. 프로젝트 만들고 실행하기 (1) 프로젝트 만들기 spring boot에서 spring starter project 를 누르면 된다 (2) 실행하기 1) 다시 main함수가 생겨났다! 기존에는 톰캣이 나를 호출(외장형)했는데, 이제 내가! 톰캣을 호출(내장형)해 다음 코드와 같이 톰캣을 호출할 수있다 (톰캣은 내가 사용!!) 하나의 도구로 사용이 가능하게 되었다 2) 톰캣을 이제 구할 필요도 없고 //1번방법 리플렉션 방식으로 DI(스프링MVC) 주입 SpringApplication.run(Rlandboot3Application.class, args); //2번방법 커스텀 SpringApplication app = new Spring..

TIL : git - 4

I. git 1. (1)rebase 합치는 방법은 merger 와 rebase 두가지가 있다 다른 브런치 합쳐서 그것부터 rebase 한다 (2) 2. github 와 git 연동하기 (1) 우선 add 해서 연동해줌 git remote add origin https://github.com/Mo-bile/git-practice.git (2) psuh 1) 로컬과 원격 레파지토리가 있을때 원격에 밀어넣는 것이다 git push -u origin main 을 하면된다 (master 는 안됨 : 왜냐 나는 master가 아니기 때문이다) origin 은 remote 저장소의 별칭 2) remote : fetch : romote 가지고 끌고오기 -> pull : 넣기 ( 원격과 로컬 동기화 하려고할 때 ) cl..

TIL : 56번째- 230222 [2-3-수]

I. 웹개발 의존성관리도구 What (정의) : 외부 라이브러리를 사용관리하기 위 한 도구이다. 즉 프로젝트와 해당 라이브러리간 상관관계를 용이하게 하기 위함이다. Why (존재이유) : 외부라이브러리는 업데이트 등으로 version up이 되어서 라이브러리를 교체해주는 과정에서 휴먼에러가 발생한다 본 도구를 이용하면 pom.xml 등에서 한줄로 간단하게 해결이 가능하다 결국 불필요한 공수가 줄어든다. (시간절약, 안전성) How (방법) : pom.xml (Project Object Model) 에 프로젝트에 필요한 라이브러리를 정의한다. 메이븐은 네트워크를 이용해서 프로젝트에 해당 라이브러리를 주입시킨다. e.g. (예) : Maven, Gradle, Ant 1. Maven 이란 (1) 프로젝트 빌드..

TIL : 55번째- 230221 [2-3-화]

I. 들어가며 모든 것은 컨트롤러가 있고 다 작성가능해 컨트롤러는 분리하면 이제 POJO컨트롤러가 돼! 서블릿흔적은 프론트컨트롤러가 돼! 5가지 (쿼리스트링, 폼 : get, post), page, cookie, session Session 사용목적?은 사용자가 요청결과들을 유지하고싶을 떄 써! 이 저장소를 쿠키가 대신할수있어 그런데 세션장점은? 사용자 특성을 타지않아!! 사용자가 쿠키설정해서 했기때문이야 사용자의 동의가 필요한 상태뿐만아니라, 저장소는 클라이언트야 사용자 특성을 쿠키 장점은? 원하는 경로, 원하는 기간을 정할수있다. II. 웹개발 1. 쿠키 (1) 쿠키값 보기 list3 실행 후 list2를 실행하면 다음과 같은 결과가 나온다 첫번째 줄 : session 의 value 두번째 줄: Co..