본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

전체 글485

[spring] MyBatis insert, update NULL MyBatis/iBatis를 사용하다보면 insert/update시 null을 입력해야 할 때가 있다. 일반적으로 paramter를 넘겨서 insert/update를 실행할 때 입력값에 null 이 들어가 있으면 오류가 발생한다. Mybatis에선 파라메터의 값이 null일 경우 입력이 불가능하다. mapper에서 if를 사용해 필터링 할 수 있지만 소스가 길어진다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 INSERT INTO TB_test ( idx , memo ) VALUES ( #{idx} , #{memo} ) Colored by Color Scripter cs 대체 방법으로 파라메터에 jdbcType을 지정해주면 null이 들어가더라도 처리가 가능하다. 1 2 .. 2021. 9. 30.
[JAVA] 자바 이클립스 자동 저장 실행 이클립스에도 자동저장 기능이 있다. 다만 실시간으로 자동저장 되는것이 아니고, 컴파일이나 실행시 자동으로 저장이 된다. 애초에 자동저장이 안되었던 툴이니 이정도로 만족하자. [Window] - [Preferences] - [General] 하위 메뉴 클릭 - [Workspace] - [Build] - 우측 [Save automatically before manual build] 체크 좌측 [Run/Debug] - [Launching] - 우측 Sava required dirty editors before launching - [Always] 체크 - 하단 [Apply and Close] 2021. 9. 30.
java 명명규칙 공통 명명규칙 1) 규칙 1. 대소문자가 구분되며 길이에 제한이 없다. 2. 예약어를 사용해서는 안 된다. 3. 숫자로 시작해서는 안 된다. 4. 특수문자는 '_' 와 '$'만을 허용한다. 5. 파스칼 표기법 (PascalCase)과 카멜 표기법(camelCase)를 사용한다. 6. 반의어는 반드시 대응하는 개념으로 사용해야 한다. ※ PascalCase : 모든 단어에서 첫 번째 문자는 대문자이며 나머지는 소문자이다. ※ camelCase : 최초에 사용된 단어를 제외한 첫 번째 문자가 대문자이며 나머지는 소문자이다. 반의어(의미가 반대인체로 사용되는 용어들) get / set 받다 / 받다 old / new 구 / 신 open / close 열다 / 닫다 add / remove 추가 / 제거 begi.. 2021. 9. 30.
@Log4j에서 log에 에러 발생 시 해결방법, 그만좀 일어났으면 ㅠ @Log4j는 log 객체를 생성하여 로그를 출력할 수 있게 하는 lombok에서 지원하는 어노테이션이다. log 객체를 생성하지 않아도 사용할 수 있는 장점이 있는데 프로젝트를 생성할때마다 매번 이 오류를 접했다. 왜그럴까? 아오 @Log4j를 사용하는데 log객체에 빨간 밑줄 에러가 나면 다음을 확인한다. 1. 이클립스 또는 STS 설치 경로에 한글명이 들어가 있는지 확인 - 들어가있으면 영문으로 경로 수정 2. lombok.jar 설치 확인 - lombok.jar가 설치되면 xxx.ini에 아래와 같이 lombok.jar가 추가가 된다. (xxx이라고 표현한 이유는 이클립스와 STS에 따라 이름이 다르기 때문) - javaagent:경로\sts-4.7.1.RELEASE\lombok.jar 3. po.. 2021. 9. 30.
JSTL 에러 없는데 빨간 줄 생기는 이유? 이클립스 2020년 6월버전을 쓰다가 스프링 xml에서 namespace문제 때문에 고생하던 중 2019년 6월 버전으로 다운그레이드 시키면 사용가능하다고 들었다. 그래서 이클립스 버전을 변경하고 프로젝트를 돌리는 중에 이전에 없던 오류를 발견했다. jsp 페이지에서 jstl 기능을 사용하는데 빨간줄이 생기면서 오류표시가 뜨는 것이다. 이클립스 버전마다 지원하는 기능이 다른가보다 싶다. 쨋든 해결은 해야겠지. 에러는 java Library에 Tomcat 을 넣어주지 않아서 발생하는 문제다. 해결방법 프로젝트 탭 -> Properties -> Java Build Path -> Libraries -> Add Library -> Server Runtime -> Apache Tomcat v*.0 추가 이러면 j.. 2021. 9. 30.
DAO / VO / DTO란? DAO란 Data Access Object의 약어로서 실질적으로 DB에 접근하는 객체를 말한다. DAO의 사용 이유는 효율적인 커넥션 관리와 보안성 때문이다. DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다. 정의 DAO란? 한마디로 Database의 data에 access하는 트랜잭션 객체이다. 일종의 객체라는 것을 잊지말도록 하자. DAO는 저수준의 Logic과 고급 비지니스 Logic을 분리하고, domain logic으로부터 persistence mechanism을 숨기기 위해 사용한다. (적절히 디자인을 하면 모든 domain logic을 바꾸는 대신에 DAO를 바꾸기만 하면 된다.) persistence 계층 : Database(영구 저장소)에 data를 C.. 2021. 9. 18.
[spring] Driver net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl, jdbc:log4jdbc:oracle:thin:@localhost:1521:XE 오류해결 Driver net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl, jdbc:log4jdbc:oracle:thin:@localhost:1521:XE jdbcUrl에 접근할수 없다고 오류가뜨는데, 다양한 원인이 있을 수있더라. 체크할 부분 - maven 또는 external로 ojdbc를 추가했는가? - properties/deployment Assembly에 ojdbc를 추가했는가? - url이 잘못되지 않았는가? - driverClassName이 잘못되지 않았는가? - bean 설정으로 dataSource부분이 틀리지않았는가 등이다. 혹시 이걸로도 해결안되면 댓글남겨달라. 확인해보겠다. 2021. 9. 18.
myBatis 조건문 쓰기 xml파일에 조건문을 쓰고싶은 경우 어떻게 쓰는지 정리해둔다. 조건문을 쓰면 xml에 쿼리 작성 개수를 줄일 수 있을 것 같기에 자주 사용할 것 같은 느낌이든다. mapper에서 if 조건문 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 nick = #{nick}, nick = #{nick}, = 8 "> numb = #{numb}, else query foreach query cs 2021. 9. 3.
mysql datetime 유형 선택하기 mysql 에서 사용하는 날짜, 시간 형식은 특정 포멧을 이용하여 원하는데로 출력 가능하다. 기본적으로 CURRENT_TIMESTAMP 를 이용하여 시간 출력 가능하다. 기본 데이터 포멧은 yyyy-mm-dd hh:mm:ss 형식으로 확인된다. 데이터 포멧 사용은 다음 양식으로 하면된다. DATE_FORMAT(CURRENT_TIMESTAMP, '%y-%m-%d') %M Month 월(Janeary, February ...) %H Hour 시(00, 01, 24) 24시간 형태 %m Month 월(01, 02, 03 ...) %h %h Hour 시(01, 02, 12) 12시간 형태 %W Day of Week 요일(Sunday, Monday ...) %I(대문자 아이) Hour 시(01, 02 12) 12.. 2021. 9. 3.