onnnzeoz
article thumbnail

GetMapping, PostMapping

requestMapping : get이랑 post 둘 다 받을 수 있음

get으로만 받을거라면 getMapping으로 해줘서 굳이 뒤에 method 더 안써줘도 되게끔

 

 

파라메터를 DTO로 받기 위한 조건

1. POST로 보낼 것

2. dto의 필드와 보내는 파라메터의 이름과 갯수가 정확히 일치할 것 (null값 안됨)

 

ModelAndView

는 클래스라서 컨트롤러에서 가져올 필요없고(model처럼) 바로 서비스에서 써줄 수 있

model에는 데이터밖에 못담았는데 modelandview는 view도 담을 수 있어

사용할 땐 객체화 해주기

ModelAndView mav = new ModelAndView();
		mav.setViewName(page);
		mav.addObject("msg",msg);
		
		return mav;

 

hashmap의 단점

어떤 데이터가 들어가고 나갔는지 확인해보기 힘듬

-> 이걸보완한게 dto를 데이터타입으로 쓰는거

 

쿼리로그 찍는거

1. 라이브러리 추가 (pom.xml에)

<!-- sql로거 -->
		<dependency>
		    <groupId>org.bgee.log4jdbc-log4j2</groupId>
		    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
		    <version>1.16</version>
		</dependency>

2. application.properies에서 바꿔주고(첫째줄 둘째줄)

#db info
spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mariadb://localhost:1521/mydb
spring.datasource.username=web_user
spring.datasource.password=pass

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.drivers=org.mariadb.jdbc.Driver

 

3. 추가해줄 파일 2개

logback-spring.xml
0.00MB
log4jdbc.log4j2.properties
0.00MB

추가

여기에 추가

근데 이렇게 하면 너무 길게 나와서

<!-- SQL LOG 옵션 설정 (쿼리문과 걸린시간, 결과를 보도록 한다.)-->
<logger name="jdbc.connection" level="OFF"/>
<logger name="jdbc.sqlonly" level="OFF"/>
<logger name="jdbc.sqltiming" level="INFO"/>
<logger name="jdbc.audit" level="OFF"/> (뭐 많이 찍어주는 놈)
<logger name="jdbc.resultset" level="OFF"/>
<logger name="jdbc.resultsettable" level="INFO"/>

이것도 추가해줘야함

 

4.  application.properies에서 로그레벨 지정해주기

logging.level.root = info

 

 

동적쿼

쿼리문에서 if쓰고싶다면

mybatis 활용,

'Spring Boot' 카테고리의 다른 글

11_WebClient와 12_ApiServer를 한 이유  (0) 2023.06.01
WebClient  (0) 2023.05.31
필드 주입과 생성자 주입, rest, @RestController  (0) 2023.05.30
spring boot 스프링부트  (0) 2023.05.25
log4j.xml  (0) 2023.05.23
profile

onnnzeoz

@onnnzeoz

비전공자의 개발 공부 일지입니다 💦 국비 풀스택 과정 수강중