일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 여행
- 캘리그라피
- mysql gis
- spring
- mybatis
- 쿼리
- JPA
- JSON 변환
- 좌표변환
- 하이버네이트
- 위경도계
- 파이어폭스41
- mybatis polygon mapper
- mybatis polygon
- join
- 큐브리드
- mysql polygon
- 사진
- QGIS
- 좌표계변환
- Query
- json parser
- IntelliJ
- shortcuts
- cubrid
- 자바
- 엽서
- Java
- Hibernate
- 단축키
- Today
- Total
목록공부/Java (11)
쏘댕
json 파싱할 일은 수두룩 빽빽인데, 매번 귀찮으니 util로 만들어놓으면 편하다. 몇 번 만들면서 조금씩 변하기는 했는데, 어쨌든 toObject는 필수템! 이렇게 쓰니 다른 프로젝트 개발하다 json 유틸없으면 파싱하는 법이 잘 생각 안나서 찾아가면서 만들어야 하는게 함정... ㅋㅋㅋㅋㅋ package com.ssodang.common.util; import com.ssodang.exception.JsonUtilException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; ..
엄청 오랜만에 기록! WebMvc 설정 잡을때 당연하게 WebMvcConfigurerAdapter 를 썼었는데... 언제 Deprecated 가 된건지.... ㅎㅎ WebMvcConfigurer 로 바꿔야하나 했는데, 당장 바꾸기에 수정할게 많은 참에 WebMvcConfigurationSupport 로 바꾸면 되는걸 깨달았다. 기록 끝! ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
책이랑 인터넷에 많이 나와있는 하이버네이트util을 보고 만들었는데,4버전부터는 buildSessionFactory()가 deprecated되었다!! return new Configuration().configure().buildSessionFactory();줄쳐진거 굉장히 싫어해서.... 없애버리려고 찾아보다가 고쳤땅이전 글의 HibernateUtil에서 buildSessionFactory() 메서드만 변경!private static SessionFactory buildSessionFactory() throws ExceptionInInitializerError { try { // Create the SessionFactory from hibernate.cfg.xml Configuration config..
Spring data JPA를 적용해보겠다고 별짓을 다했는뎅 어디가 어떻게 어디서부터 잘못된건지 설정이 꼬여가지고 안된다...... 다음번에 새로운 마음으로 다시해야지.................. 이번엔 쪼인을 해보쟈 일단 지난번에 test_table 추가에 이어서 조인 테스트를 위한 테이블 추가!(이름이 온통 엉망인데... 좋은 이름이 안생각난다.. @_@) 테이블 추가했으니 모델도 추가!public class JoinTest { private long id; private long testId; private JoinKeyword joinKeyword; public enum JoinKeyword { RELATION_A, RELATION_B } /* getter, setter */ } TestMod..
하이버네이트로 개발하기 위해 테스트 테이블을 만들고, CRUD를 실행해보쟈DB는 CUBRID 이름 그대로 test_table을 만들고 몇가지 앞으로 필요한 데이터형을 확인하기 위해 bigint, varchar, datetime을 사용했다.test_enum은 java enum을 넣기 위해 추가했다. [!] 참고 처음에는 reg_date 컬럼명을 그냥 date로 했었다.근데 요게 테이블 생성은 되는데, 하이버네이트가 만든 쿼리를 날리니까 에러가 난다 ㅎㅎ TestModel 클래스는 똑같이 매핑되도록 아래와 같이 한다.(생성자는 편의를 위해서 만들어둠!)TestEnum은 그냥 Enum이니까 생략 TestModel.java public class TestModel { private long id; private..
ID를 표시할때 ssoda**와 같이 마스킹 처리를 하는 Util을 구현했다. ID는 핸드폰번호 또는 메일 주소의 포맷을 가지고 있다. 이메일 주소는 {userId}@gmail.com에서userId.length를 기준으로 세글자 초과인 경우 뒤 세자리를 마스킹 처리하고,세글자인 경우 뒤 두글자만 마스킹,두글자 또는 한글자인 경우 모두 마스킹 처리했다. 핸드폰 번호는 가운데 3자리 또는 4자리를 마스킹 처리했다.+ 핸드폰 번호가 011, 016.. 등등 다 010으로 통합한다고 했던거 같은데, 아직 남아있는지 어떤지 몰라서 일단 기존 포맷 " 011-000(세글자)-0000 "이랑 요즘(?) 번호 포맷 " 010-0000-0000 " 둘 다 허용되도록 했다. 예외의 경우에는 인풋으로 넘어온 값을 그대로 리..
#Java #Spring#Maven 사용자 입력 가능한 input, textarea 등에 스크립트 적용 불가하도록 XSS filter가 필요해서,owasp-java-html-sanitizer를 이용하여 input 입력 받은 값들의 태그를 모두 제거하도록 하였다. pom.xml에 디펜던시 추가! com.googlecode.owasp-java-html-sanitizer owasp-java-html-sanitizer r239 XssStringConverterUtil.java 생성!import org.owasp.html.Handler; import org.owasp.html.HtmlPolicyBuilder; import org.owasp.html.HtmlSanitizer; import org.owasp.html..
테이블에 매칭되는 각각의 클래스를 만들었지만, 테이블 구조와 로직 처리에 필요한 구조는 다르다. 두 테이블에 해당하는 두 클래스 중,한 클래스가 다른 클래스를 인자로 가지고 있는 경우JOIN으로 한개의 쿼리에 가져오고 싶다! class는 다음과 같다. Person.classpublic class Person {private String id;private String name;private int age;private Car car; /* * getter/setter 생략 */ } Car.classpublic class Car {private String ownerId;private String modelNo;private String color; /* * getter/setter 생략 */ } sql ..
[출처] http://www.journaldev.com/2676/spring-mvc-interceptors-example-handlerinterceptor-and-handlerinterceptoradapterPankaj April 7, 2014 SpringSometimes we want to intercept the HTTP Request and do some processing before handing it over to the controller handler methods. That’s where Spring MVC Interceptors come handy.Just like we have Struts2 Interceptors, we can create our own interceptors in ..
resultMap에 클래스를 맵핑할때 인자로 다른 클래스가 있을 경우 어떻게 받아올지 찾다가 발견! mybatis에서 테이블간의 1:N관계를 select 할때 resultMap을 통한 일종의 서브쿼리 형식으로 데이터를 가져올수 있다. 예를들어 게시판(BOARD)라는 테이블과 댓글(COMMENT)라는 테이블이 있고, 하나의 게시글에는 여러개의 댓글이 생성될수 있음으로 게시판과 댓글의 관계는 1:N관계이다. 이런 구조를 자바 코드로 클래스를 만들어 보면 다음과 같다.?123456789class Board{ private String board; private String title; private String content; private String writer; private List comments; ..
MyBatis 에서 sql xml 파일에 쿼리 작성 시 LIKE 검색 팁 MyBatis에서 parameterClass의 속성을 SQL에 바인딩 할 때 syntax를 #{속성명} 으로 쓴다. 여기서 LIKE를 쓰려고 SELECT * FROM user WHERE user_id LIKE '%#{test_game_id}%' 이렇게 하면, SELECT * FROM user WHERE user_id LIKE '%'test_game_id'%' 요렇게 쿼리가 가서 SQLException 발생!! 바인딩 될 때 MyBatis에서 따옴표를 붙여서 넘어오기 때문이라고 한다. 다음은 해결방법! RDBMS에 제공하는 Built-In 함수를 사용하는 방법이 있다는데, for Oracle: WHERE GAME_ID LIKE '%'..