본문 바로가기

학원 일기

(97)
oracle - sequence create SEQUENCE 시퀀스명 INCREMENT BY 1 START WITH 1 NOCACHE; 이것이 내가 사용한 시퀀스의 일반적인 생성문이다 그런데 시퀀스를 0으로 초기화해야할 일이생겼고 구글링을 하였더니 해당시퀀스를 바로 0으로 변경하는 방법은없었다 대신 시퀀스의 증가값을 -(음수)로 변경하여 0으로 만든다 그이후 다시 증가값을 1로변경하여 다시 사용하는 방법을 쓴다는 것을 알았다 1) select 시퀀스명.nextVal from dual; -> 0으로 만들기위해 해당시퀀스의 값을 조회한다 (조회하는것만으로도 시퀀스의 값이 증가한다) 2) alter sequence MainBoard_SEQ increment by -현재시퀀싀의 값; =>시퀀스의 증가값을 -현재값으로 변경후 1번 사용하여 값을..
근처 게시글 조회 - 개발과정 [ 구현한 화면 PNG 파일 ] https://user-images.githubusercontent.com/84488007/129732122-04af51b5-d7c9-4446-8f44-b1f1d1e06f07.gif [ 설명할 로직 순서 ] 1.회원가입시 회원의 주소를 위도,경도로 변환하여 controller로 값 전달 1-1) 도로명 주소 API로 주소 sourcefile을 project에 저장 (인증키 적용) 1-2) 주소찾기 버튼에 이벤트 할당 -> 클릭시 API호출후 주소 input태그안에 저장 1-3)form 태그 제출시 kakao지도 API기능을 응용 - > 시군구 + 시도의 주소를 위도,경도값으로 변환 mainAddr은 문자열 형태로 주소의 값을 담고 있습니다. 1-4) x,y (위도,경도)의..
위도,경도 데이터를 통해 (n)km이내의 값 구하기 위도,경도를 가지고있는 테이블이 있다 입력한 위도,경도의 반경 xxkm안에 있는 값들을 조회하는게 목표이다 구현할 로직 * 입력하는 좌표와 조회되는 테이블의 좌표값의 거리를구한다 * 거리의 가까운순서로 테이블을 정렬하고 입력한값의 반경이되는 조건거리를 넘어가는경우는 조회하지않는다. 우선 도를 반지름으로 계산하는 함수가 필요하다 다른 DB에서는 내장SQL문이 있었지만 ORACLE에서는 존재하지 않기떄문에 만들어야 했다 stackoverflow의 소스를 통해서 oracle기반의 함수를 이해하면서 구현해보도록 하자 1) 위도,경도를 반지름으로 바꾼다. => 해당함수를 구현한다 도를 라디안으로 바꿀수있는 RADIANS함수를 생성해야한다 (RADIAN == 도를 값으로 나타내는 단위) 왜냐하면 프로그래밍에서 각도..
타일즈뷰 만들기 1. org.apache.tiles tiles-jsp 3.0.8 org.apache.tiles tiles-servlet 3.0.8 org.apache.tiles tiles-extras 3.0.8 pom.xml에 라이브러리 추가 servelt-context에 /WEB-INF/tiles/tiles.xml 타일즈 xml위치지정 기존 뷰리졸버보다 먼저 동작하게지정 3) definiton태그의 name에는 변수명(해당 변수의맵핑경로를 참조할때쓰인다) template에는 값을 요청할경로를쓴다 (그래서 home으로 요청할경우 tiles설정 상속값을넣지않으면 url은그대로지만 templateBaisc(name값)에 경로를찾을수없다고 나오는것이다) put태그이 name에도 변수명( 템플릿을 적용할 jsp페이지에서 값을 ..
스프링0707 받은 파일을 업로드 / 응답까지 직접설정해주는 업로드방식 / 다운로드 해당페이지는 파일을 업로드하면 해당파일이 본인이 설정한경로에 지정한후 아래에 저장한 사진을 업로드할수 있다는것이다. 이전에는 저장까지 하였다. $({)} 요청을 통해서 파일에 저장한다 까지 했다 1) getLIst()생성 2)html 태그의 게시물업로드 부분을 script문에서 동적으로 생성한다 3)동적으로 생성되는 값은 getList()안의 $.getJSON의 ajax호출로 받아온다 = 구글링결과 JSON으로반환받는 ajax 인것같다 4) 서비스,서비스임플,맵퍼,맵퍼xml작성후 SnsBoardVO를 반환받는다 - bno를 키로 나머지를 값으로 받게도는 구조인것같다 5) for문으로 html을 동적으로생성하고 data의 파일을가져오는 ..
스프링0706 파일업로드를 비동기형식으로 처리하는 방법 1) 사용자가 요청을 보낼수있는 화면에는 text와 type형식이 file인 input태그가 button태그로 구성 -form태그를 사용하지않는이유는 action태그로화면전환없이 ajax를 사용하기위해서이다. 2) form에 click 이벤트할당 2-1) session의 id값, file과 text의 value를 각각 writer,file,content변수에 받는다 (중요한건 파일이다) 2-1) file.lastIndexOf(".",file.length)+1, file.length를 통해 확장자명을 얻는다 - 파일의 값중 "."이후에 확장자명이 있기때문에 "."후부터 끝까지 값을 잘라 저장하려고한다 -lastIndexOf("찾을값",시작인덱스) 이렇게하면 inde..
스프링 20210705 스프링을 통한 파일업로드 방법 1) commons-io / commons-fileupload 라이브러리 주입 2)컨트롤러에 업로드파일을 저장할 폴더의 경로를 String타입 상수에 저장한다 3)list형태로 값을받는 vo와 list를 담는 vo를 생성한다 (필수가아니라 특정요청을 처리하기위해) 4)jsp 페이지에서 form태그 작성 파일선택: =========================================================== action에는 요청경로 / method는 post사용 enctype="multipart/form-data는 파일을보내기위한 폼속성이다 file이름으로 file을 보낸다 컨트롤러는 요청을 맵핑후 MultipartFile타입으로 객체를 전달받아 try catch..
스프링0630 인터셉터 사용 / 맵퍼xml에서 inner left값 사용하기 인터셉터 사용하기 1.config파일에 inerceptor-context.xml 파일생성 2.name space에서 mvc라이브러리 적용 3.DispatcherServlet의 param-value태그에 해당xml파일 추가 4. - 해당 자바클래스파일을 bean형태로 만든다 5. 태그안에 - path에설정한 요청이들어오면 해당요청값을 ref bean이참조하는곳으로 전달한다 6. interceptor디스패처서블릿이 참조하는 인터셉터(자바클래스)파일 생성 6-1) extends HandlerInterceptorAdaptertkdthr 6-2)controller를 들어가기전이라면 preHandle을 나간직후라면 postHandle을 상속 6-3)해당..
06-29 스프링 오늘한일 과제/회원가입/로그인 [ 기술보다는 각각의 구조가 어떻게 짜여지는지 그릴수있는 능력이 더중요하다 ] html/css로 작성된 파일은 이미 있는상태 join페이지 script에서 js를 사용해 아이디 비밀번호에대한 제한및 동적파일을 생성해낸다 1. $.ajax({}) 를이용하여 비동기요청을 보낸다 2. 태그를 가져와서 속성에 이벤트할당을통한 동적페이지구현 - event.keyCode의 "엔터"의 값이 13이란점을 응용해 엔터를통해서도 click()함수를 호출한 submit()사용이 가능 3. 주소 API구현 -도로명주소 API제공 사이트에들어가 API사용법을 이해후 원하는주소의값만 가져와 내가작성하는페이지에 사용 4. REST API구현 1) 컨트롤러 생성 @Controller / @Request..
주요 maven repository 생성시 기본으로 있는 메이븐제외 ojdbc8 - 오라클 커넥터 HikariCP - 히카리 커넥션풀 spring-jdbc - 스프링 jdbc spring-test - jUnit( java기반의 테스트라이브러리) 를 확장한스프링 테스트 라이브러리 mybatis - mybatis-spring lombol - 게터세터,기본새성,toString제공 @제공 tiles-jsp tiles-servlet tiles-extras jackson-databind - REST API에서 JSON형태의객체를 반환할수있게 해준다 jackson-dataformat-xml - REST API에서 XML형태의객체를 반환할수있게 해준다