멍청멍청기록/프로젝트 일지 29

프로젝트] Mybatis UPDATE Multi ForEach 하기

1. allowMultiQueries=trueallowMultiQueries=true 을 해줘야한다. * 현재 스프링부트를 이용중이여서 application.properties 사용하고 있는데.. 현 프로젝트는 공통으로 따로 빼놓은 부분이 있다. 무튼 spring.datasource.jdbc-url=jdbc.log4jdbc:mysql://localhost:8080/myDB?CharSet= utf8&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true 이런식으로 붙여서 멀티업데이트를 하게끔 설정을 해줘야한다. * 확실치는 않지만 DBeaver 에서 Driver Properties 에 똑같은 위와 같은 멀티쿼리 옵션이 있는데 이..

프로젝트] ajax 로 데이터 보낼 시 feat. ajax 숫자 데이터 변환시 오류가 발생했습니다. 해결방법.

$.ajax({ url : '/admin/reserve/rsStatusChangeSave', type: 'POST', /*data : function(d) { d.rsStatus = data; d.arrRsSeq = JSON.stringify(temParam); console.log('>>>>>>> arrRsSeq AJAX : ', JSON.stringify(d.arrRsSeq)) },*/ data : { arrRsSeq : arrRsSeq }, dataType: 'json', traditional: true, beforeSend: function(xhr) { xhr.setRequestHeader(header, token); }, success: function (result) { alert('저장되었습..

프로젝트] JSP 데이터의 여러 전송 방법 중 하나 feat. ajax

현재 데이터 테이블로 값을 불러와서 표를 그린다. function searchList() { $('#datatable_01').DataTable({ paging: true, processing: false, serverSide: true, scrollY: '62vh', scrollCollapse: true, destroy: true, searching: false, lengthChange: false, bPaginate: true, pageLength: $('#pagePerRowCnt').val(), pagingType: 'simple_numbers', ordering: false, info: false, columnDefs: [ ], language: dataTableLangKor, ajax: { ur..

프로젝트] API 만드는 과정 중 MyBatis Collection 사용하기.

MyBatis 에서 collection 을 사용하는 방법을 검색하면 대부분 VO 에 list 를 선언해서 사용하는 방법 밖에 나오지 않는다. 근데 현재 내가 해야하는 경우는 vo가 없는 상황에서 쓰는 것이다. JSON 으로 결과를 이렇게 내려줘야한다. { "code": "0000", "message": "예약내역 조회에 성공했습니다.", "data": { "reservationHistory": [ { "rsSeq": "RS20000007720", "gdSeq": "GD2000144", "rsStatus": "A", "rsStatusNm": "미확인", "sdSeq": "SDPACK", "gdName": "패키지상품", "rsDate": "2020-06-11 13:57:37.0", "rsSdDate": "..

프로젝트] 로직을 좀 더 단순하게 변경.

하려고 하는 로직 select 를 해와서 해당하는 값이 있으면 그 값을 update 하는 것. 기존. select를 하는 쿼리를 먼저 불러온다. 상태값이 C 인 데이터면 update를 한다. 변경된 쿼리. 서비스단도 변경했다. public Map reservationTicketing(Map parameterMap) { Map resultData = new LinkedHashMap(); String idkey = Optional.ofNullable(parameterMap.get("idkey")).map(s->(String)s).orElse(""); String gdSeq = Optional.ofNullable(parameterMap.get("gdSeq")).map(s->(String)s).orElse(""..

프로젝트] Mybatis 검색 조건 설정하기.

셀렉트 박스 하나, input 박스 하나, 그리고 조회 버튼 하나. 이렇게 총 3개가 있었을 때 1. 셀렉트 박스[rsno, name, tel] 상품이나 뭔가를 선택. 2. input 박스에는 검색어를 조건으로 선택. AND tr.rs_seq = #{searchData} AND tr.rs_buyer_name LIKE CONCAT('%', #{searchData}, '%') AND tr.rs_buyer_tel LIKE CONCAT('%', #{searchData}, '%') searchData 는 input BOX searchType 은 조건 위의 if test 조건은 input 박스에 아무것도 쓰지 않고 select를 아무것도 하지 않으면 전체 조회가 된다.

프로젝트] Mybatis 문에 insert 할 때 ..

등록, 수정에서 불러오는 select박스와 등록(저장)/수정(저장)할 때의 select박스의 값은 다르다. 즉, mybatis에서 등록,수정에서 필요한 값이 두개(boxVO, winVO)의 VO에 각각 있는데 굳이 boxVo에 있는 특정 값을 불러와서 insert 문에 넣을 필요가 없다. 이유는 JSP 에서 select 로 선택된 값을 name으로 보내면 되기 때문이다.

프로젝트] 에러 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'kr.co.smartix.mapper.OfflineMapper.selectWinBoxOffi..

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'kr.co.smartix.mapper.OfflineMapper.selectWinBoxOfficeList'. It's likely that neither a Result Type nor a Result Map was specified. Mybatis 에 resultType 을 제대로 명시해주지 않아서 생긴 오류...

프로젝트] 다시 한번 생각해보기.

public Map salesTransferReportExcel(@RequestParam Map map) { log.warn("===>===>===>===>===>===> ServiceImpl ===>===>===>===>===>===>===>===>===>"); Map resultMap = new HashMap(map); log.warn("===> resultMap 크크크크크" + resultMap); MemberVO memberOutPutVo = ((MyAuthenticaion) SecurityContextHolder.getContext().getAuthentication()).getMemberVO(); ArrayList arrList = new ArrayList(); String gdSeq = (S..