전체 글 150

[Mybatis] 마이바티스 parameterType와 resultType차이

프로젝트를 하면서 프론트단에서 동적으로 무작위로 변경되는 데이터를 검색해주려 할때 어떤방식으로 쿼리에 데이터를 넣어야 될지 고민하고 있을떄 스프링에선 @RequestParam 으로 무작위된 데이터를 String stk_nm 이란 변수에 매핑을 해서 넣어주고 , 마이바티스에선 parameterType 속성을 사용해서 string 값의 파라미터가 들어올거다 하고 알려준것이다 1 2 3 4 5 6 7 public List GetNewsLiST(@RequestParam("stknm")String stk_nm){ log.info(service.getNewsList(stk_nm)); return service.getNewsList(stk_nm); } Colored by Color Scripter cs 1 2 3 s..

[Mybatis] 마이바티스 에서 #{}과 ${}의 차이

1. #는 쿼리가 수행될때 아래와 같이 된다 1 2 3 4 5 6 7 8 9 SELECT * FROM USER WHERE col = ? parameter : [값] cs ?에 bind된 값이 들어가게된다. 이쿼리의 컴파일된 내용을 재사용할수 있고, 파라미터에 따라 대입해주므로 효율적 내부적으로 preparedStatement 객체에서 ? 에 들어갈 파라미터의 값을 set 해줌으로써 사용이 된다. * preparedStatement는 한번 수행한 쿼리를 캐싱하는 객체 사용 용도 >> #일 경우, 값에 사용한다. 2. $는 쿼리가 수행될 때, 다음과 같이 된다 사용 용도 >> $일 경우는 컬럼명이 동적으로 바뀌어야 할 때 사용한다. 또는 테이블명. myBatis : ${컬럼명} = #{값} iBatis : ..

템플릿 리터럴(백틱)

JSP에선 따옴표, 쌍따옴표 구분없이 사용하면 문자열로 인식이 되는데 1 2 stk_nm +="" +data[i].stk_nm + " "; Colored by Color Scripter cs 위의 코드에선 어떤 데이터를 클릭할시 ajaxGetNews('문자열') 이런식으로 사용하고 싶었는데, 저렇게 동적으로 변경되는 데이터에 쌍따옴표를 써서 +data[i].stk_nm+ 를 감싸주면 ajaxGetNews함수를 실행할때 문자열 파라미터를 보내줄줄 알았는데 , 계속 (참조오류)변수로 인식이되어서 쌍따옴표 말고 백틱 이란걸 알게되서 사용해보니 백틱을 사용하면 문자열로 다 인식이된다. 레퍼런스 오류가 난다면 일단 타입체크를 한번해보자 자바스크립트에선 typeof 를 사용하면된다

카테고리 없음 2021.03.09

[Jquery] AJAX 데이터 전송

1. JSON 형태 데이터 전송 1 2 3 4 5 6 7 8 9 10 $.ajax({ url: '데이터를 보낼 url', type: 'method속성 (post,get,delete,put)..., data: {"키" : "값"}, success: function (data){ alert("데이터전송 성공"); }, error: function (error){ alert("에러"); } Colored by Color Scripter cs 2. 폼 데이터를 한꺼번에 전송 1 2 3 4 5 6 7 8 9 10 11 12 var queryString = $('#폼id').serialize(); $.ajax({ url: '데이터를 보낼 url', type: 'method속성 (post,get,delete,put)..

[Oracle] 오라클 데이터 타입

* 오라클컬럼의 데이터 타입형 데이터 유형 데이터형 설명 문자형 CHAR(n) 고정 길이 문자. 최대 2000byte (디폴트 값 1byte) 문자형 VARCHAR2(n) 가변 길이 문자. 최대 4000byte (디폴트 값 1byte) 오라클에서 한글은 한글자에 3byte , 영어or특수문자는 1byte 차지한다 숫자형 NUMBER[ (p, [s])] p (1~38 디폴트값은 38)와 s (-84~127 디폴트값은 0) 십진수 기준 날짜형 DATE BC 4712년 1월 1일 부터 9999년 12월 31일까지 년,월,일,시,분,초까지 입력가능 1 2 select vsize('가나다') as byteSize from dual Colored by Color Scripter cs CHAR 와 , VARCHAR2..

[Spring] 스프링 @Controller 와 @RestController 차이

주요한 차이점 : HTTP Response Body가 생성되는 방식 @Controller 전통적인 Spring MVC의 컨트롤러 View 기술사용 @ResponseBody를 사용하면 View를 리턴하지 않고 Controller에서 직접 데이터 리턴 가능 Spring4.0부터 @RestController를 통해 더 단순화 되었다. @RestController Restful 웹서비스의 컨트롤러 반환 되는 객체 데이터 타입 : JSON/XML 타입의 HTTP 응답을 직접 리턴 @Controller의 실행 흐름 Client -> Request -> Dispatcher Servlet -> Handler Mapping -> Controller -> View -> Dispatcher Servlet -> Respons..

[Spring] @RequestMapping 속성

value (URL 값으로 매핑 되는 조건을 처리) method ( HTTP Request 메소드 값을 매핑조건으로 부여 ) - GET ,POST, PUT ,DELETE 등.. params (같은 URL 이여도 , 요청 파라미터를 구분할수 있다.) 프론트단에서 JSON 로 데이터를 주고 받을땐 보통 두개를 썼다. produces (보통 이렇게 쓰인다, produces = MediaType.APPLICATION_JSON_UTF8_VALUE ) - 반환 HTTP 응답 헤더로 "Content-Type: application/json;charset=UTF-8"을 반환한다. 생략할 경우 메써드 리턴 타입에 따라 Content-Type을 자동으로 판단하여 반환한다. consumes (보통 이렇게 쓰인다, consu..

[Spring] @RequestBody, @ReponseBody 어노테이션

@RequestBody - HTTP 요청 몸체를 자바 객체로 전달받음 - HTTP 요청의 body 내용을 자바 객체로 매핑하는 역할 아래의 예제는 프론트단에서 , json으로 된 배열을 서버로 보내주는데 @RequestBody 를 사용하면, StockVO 객체에 쌓인다 (JSON이 배열형식이다보니 StockVO 에는 list변수를 따로선언해야함) 1 2 3 4 5 6 //json 배열 db에 담기 @PostMapping(value = "/new" ,consumes = "application/json") public void createList(@RequestBody StockVO vo){ log.info(vo) } Colored by Color Scripter cs @ResponseBody - 자바 객체..

[Oracle] 오라클 Date 타입 조회

프로젝트를 진행하는중 날짜가 저장된 컬럼에서 현재 시간을 조회해서 오늘 날짜의 데이터만 뽑아오는걸 하는도중 알게된점. 오라클에서 date 타입의 데이터를 where 절에서 비교할때, select * from table where = '21/03/03' 이런식으로 비교하면 뽑혀올줄알았는데 안되더라.. SELECT SYSDATE FROM DUAL; 그래서 위와 같이 선언하면 임시 테이블 DUAL로 현재 시간이 조회가 된다. (근데 여기선 Date 타입으로 뽑혀 오기떄문에.) 오라클에서(중첩쿼리를 사용해서)where 절에서 현재 날짜를 비교하려면 date형타입을 string으로 변환해야한다. 나같은경우는 아래와 같이 처리했다. Date형 타입의 데이터를 String 식으로 변환해서 조건문에서 사용했다 sele..

[Javascript] JSON 이란?

JSON은 속성-값 쌍 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다 JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. 내가 스프링 웹프로젝트를 진행할때 JSON 타입의 배열로 데이터를 보낸적이 있는데, 아래와 같이 listDate 라는 이름의 배열로 3개의 데이터를 보냈다. 안될줄알았는데 되더라.. 인덱스 형식으로 끄내서 사용가능 스프링에선 배열로 온 데이터를 어노테이션 @RequestBody VO 객체에 List 변수를 따로 선언해서 List변수로 받아서 사용했던 기억이 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17..