전체 글

404 Brain Not Found
STUDY/SpringLegacy

[Spring] Log4j2 설명

자바를 하게되면 콘솔에 데이터를 출력하기 위해 System.out.println()을 사용합니다. 하지만 스프링에서는 이를 사용할 필요없이 log4j라는 라이브러리가 로그 관련한 기능들을 관리해줍니다. 이 글은 STS(Spring toos Suite)로 생성한 스프링 프로젝트 기준으로 작성되었습니다. STS를 이용하여 프로젝트를 생성하는 방법은 가장 하단에 관련 글을 포스트합니다. 이 글은 자바웹을 다루는 기술 책을 참고하여 작성하였습니다. log4j 스프링으로 개발할때 보면 콘솔에 위와 같은 엄청 많은 로그들이 출력되는데 이 모든게 log4j 덕분입니다. 개발할 당시에 사용했던 로그 메시지들은 실제로 서비스할 때 전혀 필요없게 됩니다. 그럴 경우 일일이 찾아서 해당 로그들을 삭제해주어야 하는데 이는 번..

STUDY/SpringLegacy

[Spring] Log4j2 사용해 상세한 SQL 쿼리 로그 출력 설정

STS Console 창에서 SQL 쿼리 Log를 자세히 출력을 위한 설정  log4j.xml 에서 Root Looger 의 value를 debug로 수정할 경우 실행된 sql문을 확인 할수있으나execute query : SELECT * FROM TABLE WHERE ID = ?와 같이 실행된 쿼리문에 파라미터를 함께 표현하지 않는 점과,미리 결과내용을 보지 못하는 점에서 불편함을 느낄수있다.이때 아래와 같이 설정할 경우 자세한 sql 로그를 설정하여 출력할수있어 편리해진다.  1.pom.xml 의존성추가 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4 1.16 2. root-context.xml (또는 dataSource-context...

STUDY/JavaScript

[JS] encodeURIComponent

encodeURIComponent요약문자를 유니코드 값으로 인코딩합니다. (영문,숫자 제외) URI로 데이터를 전달하기 위해서 문자열을 인코딩문법encodeURIComponent(string)인자인자명데이터형필수/옵션설명stringstring필수인코딩할 문자열 반환값string, 인코딩된 문자열을 반환설명encodeURIComponentURI(Uniform Resource Identifier) ​​구성 요소를 인코딩하기 위해 JavaScript에서 사용되는 함수입니다. 이는 URL 내에 특수 문자가 포함된 데이터를 포함하려는 경우 특히 유용합니다.작동 방식은 다음과 같습니다.인코딩 : URI 구성 요소의 특정 문자를 해당 이스케이프 시퀀스로 바꿉니다. 이러한 이스케이프 시퀀스는 퍼센트 기호(%)와 문자의..

STUDY/DB SQL

[MyBatis] <trim> 사용법

MyBatis의 trim 태그는 동적 SQL 문에서 불필요한 공백과 문자를 제거하고 조건에 따라 SQL 문을 조립하는 데 사용됩니다. 태그를 보완하는 역할을 해줍니다.은 4가지의 속성을 가지고 있습니다. prefix 속성 태그 내부 실행될 쿼리문 가장 앞에 붙여준다. update board username=#{username}, password=#{password}-- 최종 실행 쿼리문update boardsetusername=#{username},password=#{password} prefixOverrids 속성태그 내부 실행될 쿼리문 가장 앞의 단어가 속성값에 설정해둔 문자와 동일할 경우 문자를 지웁니다.select * from tbl_board where OR title = "Bo..

STUDY/JAVA

[JAVA] 비어있는 문자열(String) 체크하는 방법

자바에서 비어있는 문자열(String) 체크하는 방법자바에서 문자열이 비어있는지 확인하는 방법은 여러 가지가 있습니다. 가장 일반적으로 사용되는 방법은 다음과 같습니다.1. isEmpty() 메서드 사용:Java 7부터 도입된 isEmpty() 메서드는 문자열이 비어있는지 여부를 확인하는 가장 간편하고 직관적인 방법입니다. 이 메서드는 문자열의 길이가 0인 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.String str = "";boolean isEmpty = str.isEmpty();if (isEmpty) { System.out.println("문자열은 비어 있습니다.");} else { System.out.println("문자열은 비어 있지 않습니다.")..

STUDY/DB SQL

[MyBatis] [SQL] LIKE + % 문자열 검색 DBMS별 SQL문

LIKE + % 문자열 검색Mybatis에서는 DBMS 종류 별로 차이가 있다. MySql / MariaDBSELECT * FROM TABLE_NAMEWHERE COLUMN_NAME LIKE CONCAT(‘%’, #{searchKeyword}, ‘%’) ORACLESELECT * FROM TABLE_NAMEWHERE COLUMN_NAME LIKE '%'||#searchKeyword#||'%'  Ms-SqlSELECT * FROM TABLE_NAMEWHERE COLUMN_NAME LIKE '%' + #searchKeyword# + '%'  출처: https://dongram.tistory.com/12 [오늘은 룡:티스토리]

STUDY/SpringLegacy

[Spring] Lombok 설치 및 STS 연동하기

Lombok이란 자동으로 기본적인 상용구를 생성 해 줌으로써코드량을 줄이는데 도움을 주는 Java 어노테이션 라이브러리입니다. 객체 클래스에 @Data 어노테이션만 달면,Getter/Setter/Equals/ToString과 같은 메서드를 자동으로 생성/연결해 줍니다.  Lombok 다운로드 하기1. Dependency를 직접 입력하여 Maven을 통해 다운 받는 경우https://mvnrepository.com/artifact/org.projectlombok/lombok 접속합니다.원하는 버전을 선택합니다Maven탭의 dependency 내용을 복사합니다pom.xml에 태그 하위에 복사한 내용을 붙입니다.+ 사이트에서 직접 다운받는 경우 아래 링크에서 다운받으면 됩니다.h..

STUDY/SpringLegacy

[Spring] mybatis Parameter '파라미터명' not found 에러

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter '파라미터명' not found. Available parameters are [arg1, arg0, param1, param2] 발생 원인MyBatis를 이용한 SQL Mapper의 메소드는 하나의 파라미터만을 읽음.즉, 파라미터의 개수가 2개 이상일 때 발생. 해당 데이터가 어떤것인지 명시하지않으면 에러 발생함  해결방안@Param 어노테이션 사용파라미터명, 바인딩될 변수명을 arg0, arg1, ....... 으로 맞춰주기파라미터명, 바인딩될 변수명을 param1, p..

STUDY/DB SQL

[MariaDB] MariaDB 계정추가, 권한설정(외부접속허용), 권한부여

MariaDB 계정추가, 권한설정(외부접속허용), 권한부여 계정 추가:CREATE USER '사용자명'@'호스트' IDENTIFIED BY '비밀번호';여기서 '사용자명'은 새로운 사용자의 이름, '호스트'는 사용자가 접속을 허용하는 호스트 주소, '비밀번호'는 사용자의 암호입니다. 외부 접속 허용:GRANT ALL PRIVILEGES ON *.* TO '사용자명'@'%' IDENTIFIED BY '비밀번호';이렇게 하면 새로운 사용자가 어떤 호스트에서든 접속할 수 있습니다. '%'는 모든 호스트를 나타냅니다. 특정 데이터베이스에 대한 권한 설정:GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '사용자명'@'호스트' IDENTIFIED BY '비밀번호';위의 코드..

STUDY/SpringLegacy

[Spring] 정적 리소스(Static Resources) 설정 방법

Spring은 기본적으로 JSP 등 동적인 페이지와는 달리 HTML, CS, JavaScript 등 정적인 리소스에 대한 접근을 막는다. 정적인 리소스를 서비스해야 한다면 스프링Ioc 컨테이너 XML (servlet-context.xml ...) 에 설정을 추가함으로써 접근을 허용할 수 있다. servlet-context.xmlmapping : 매핑 URI 설정location : 정적 리소스 위치 설정 를 통해 접근을 허용해준다. 여기서 '**'은 하위 폴더 아래의 파일까지 모두 포함함을 의미한다. resource에 넣고 아래와 같이 사용할 수 있다. 위와 같이 설정해주면 /js/test.js 라는 클라이언트의 요청이 들어오면이것을 /resouces/j..

STUDY/SpringLegacy

[Spring] mybatis camelCase 적용하기

mybatis camelCase 적용하기 mybatis-config.xml     mapUnderscoreToCamelCase : 이번 적용의 목표callSettersOnNulls : 쿼리 결과 필드가 null인 경우, 누락이 되서 나오는데 누락이 안되게 하는 설정jdbcTypeForNull : 쿼리에 보내는 파라메터가 null인 경우, 오류 발생하는 것 방지  예) #{search.user}  출처 :https://ayoteralab.tistory.com/entry/Spring-Boot-10-mybatis-camelCase-%EC%A0%81%EC%9A%A9

STUDY/SpringLegacy

[STS] STS버전 이클립스버전 확인하기

STS버전 확인 Help > About Spring Tool Suite 3 STS version 확인 이클립스 버전 확인 STS 에서 이클립스 버전을 알려면 위 이미지에서 Installation Details 클릭 Features > Eclipse Platform 버전확인

ReCode.B
B의 개발 공부 기록