일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Kibana
- DBMS
- Javascript
- 호이스팅
- MongoDB
- git
- github
- Python
- 명령어
- 티스토리챌린지
- iBatis
- 리눅스
- docker
- Linux
- PostgreSQL
- isempty
- mssql
- mysql
- SQL
- 자바
- spring
- java
- IntelliJ
- pem
- pandas
- MariaDB
- isNotEmpty
- oracle
- 오블완
- analytics4
- Today
- Total
목록SPRING (76)
hanker
대부분의 경우 / 를 사용하면 null과 빈 문자열("")을 모두 처리할 수 있어서 편리하지만,무조건 isEmpty만 사용하는 것이 항상 최선은 아니다. || 1-1. 빈 문자열("")은 허용하고 null만 체크하고 싶을 때- 는 null과 "" 모두 체크하므로, 값이 빈 문자열일 때도 조건이 실행됨- 만약 빈 문자열("")은 허용하고 null만 체크하고 싶다면 을 사용해야 함 name IS NULL 1-2. 입력값이 공백(" ")이 포함될 가능성이 있을 때- 는 " "(공백이 있는 문자열)을 비어 있는 값으로 판단하지 않음.- 예를 들어, 사용자가 " "(스페이스 한 칸)만 입력한 경우, 는 이를 "값이 있는 것"으로 간주하고 조건이 실행됨. > 해당 경우에 Java에서 공백을 trim()..
iBATIS에서는 와 태그를 사용하여 특정 파라미터 값이 비어 있는지(null 또는 빈 문자열인지) 확인하고,이에 따라 SQL 조건을 동적으로 변경할 수 있다. 1. 값이 비어 있을 때 SELECT * FROM USERS WHERE 1 = 1 AND name IS NULL OR name = '' - : 해당 property가 null 또는 빈 문자열("")일 때 내부 SQL 구문을 포함한다- 위 SQL은 name 값이 없을 경우(NULL이거나 "")에만 조건이 추가된다. 2. 값이 있을 때 SELECT * FROM USERS name = #name# - : property가 null이 아니고 빈 문자열이 아닐 경우 SQL..
iBatis에서 문자열 비교를 위해 과 태그를 사용한다. 해당 태그들의 사용법을 알아보자. 사용법 태그설명예제 코드지정한 프로퍼티 값이 비교값과 일치할 경우 내부 SQL을 포함property="name" compareValue="admin"> name = #name#지정한 프로퍼티 값이 비교값과 다를 경우 내부 SQL을 포함property="name" compareValue="admin"> name = #name# 태그는 파라미터의 name 값이 "admin"과 동일할 때 조건을 추가 태그는 파라미터의 name 값이 "admin"과 다를 때 조건을 추가
iBatis / MyBatis 에서 sequence 를 이용하여 insert 하는 방법에 대해서 알아보자. sequence를 조회할 때 SELECT SEQUENCE_NM.NEXTVAL FROM DUAL; 이렇게 조회를 하게 되는데, insert 시에도 해당 쿼리로 insert하게 되면 sequence cannot be used here 오류가 발생하게된다. 즉, 시퀀스를 서브쿼리로 사용하게 되었을 경우에는 오류가 발생한다. INSERT INTO USER( USER_SN, ID, PW) VALUES( SEQUENCE_NM.NEXTVAL, #{ID}, #{PW},)이렇게 작성하면 오류가 발생하지 않는다. 끝.

client 단에서 ajax 요청 시 @RequestBody 어노테이션 사용 시 404Error가 발생하는 경우 해결 방법에 대해서 알아보자.@RequestBody 어노테이션을 사용하지 않고 전송 시 404Error가 뜨지 않는데, @RequestBody 어노테이션을 사용하게 되면 404Error가 발생한다. 해결방법은 dispatcher-servlet.xml에 messageConverter를 추가해주면 된다. RequestMappingHandlerAdapter 내부에 입력해주면 된다. 끝.
selectKey는 데이터 삽입(INSERT) 시 자동 생성된 키(Primary Key) 값을 가져오기 위해 사용하는 기능이다.iBatis와 MyBatis 모두 selectKey를 지원하지만, 두 프레임워크에서 사용하는 방식에 차이가 있다. 이번 글에서는 iBatis와 Mybatis에서 selectKey의 사용법과 차이점을 알아보자. 1. iBatis에서 selectKey selectKey는 데이터베이스에 INSERT를 수행할 때, 시퀀스나 자동 생성 키 값을 조회하여 객체에 할당하기 위해 사용한다. selectKey 태그 옵션type 옵션type="pre": INSERT 실행 전에 키 값을 조회하여 해당 값을 INSERT 쿼리에 사용type="post": INSERT 실행 후에 키 값을 조회하여 객체의..
웹 개발 시 데이터베이스에서 꺼내온 데이터를 어떻게 담고, 다루는 방법에 대해서는 여러가지 방법이 있다. MyBatis와 같은 프레임워크를 사용할 때 흔히 선택하는 방법은 VO/DTO 클래스를 사용하거나 Collection Framework로 데이터를 다루는 방식이다. 각각의 방식은 상황에 따라 장단점이 있다. 이번 글에서는 VO/DTO 클래스를 사용하는 방법과 Collection Framework를 사용하는 방법에 대해서 장단점과 사용 방법에 대해서 알아보자. 1. MyBatis 환경에서의 선택 Mybaits는 SQL과 자바 객체 간의 매핑을 돕는 프레임워크로, Entity나 Dto 클래스를 강제하지 않느낟.따라서 Collection을 사용하거나 DTO/VO 클래스를 사용할 수 있다. 1-1. Col..
웹 개발을 하다 보면 페이징 처리는 필수적으로 하게 되는데,그리드 라이브러리를 쓰지 않고 처리하게 될 경우 페이징은 손수 개발자가 직접 구현해야 한다. 이번 글에서는 페이징 처리를 하기 위해 각 SQL 별로 페이징 쿼리를 알아보자. 1. Client → Server 파라미터 값 - page : 현재 페이지 번호 - 1 (예를 들어 3페이지면 page = 2)- size : 페이지당 데이터 건수 (한 페이지당 보여질 데이터 수)- offset : page * size * offset 값은 항상 page * size로 계산2. 각 DBMS 별 Query 2-1. MySQLMySQL인 LIMIT과 OFFSET구문을 사용한다.-- MySQL-- offset = page * sizeSELECT *FROM use..

https://hanke-r.tistory.com/entry/Spring-Spring-Boot%EB%A1%9C-RESTful-API-%EC%84%A4%EA%B3%84 Spring - Spring Boot로 RESTful API 설계클라이언트와 서버 간 데이터를 효율적으로 주고받기 위해 RESTful API가 널리 사용되고 있다.오늘은 Java 기반의 Spring Boot를 활용해 RESTful API를 설계하는 기본 개념과 방법을 알아보자! 1. RESTful APIhanke-r.tistory.com 이전 글에서 Spring boot로 RESTful API를 만들어 봤는데,이번 글에서는 ResponseEntity를 사용하여 Http 상태 코드를 추가해서 성공과 오류를 명확히 하는 API로 만들어보자. R..

클라이언트와 서버 간 데이터를 효율적으로 주고받기 위해 RESTful API가 널리 사용되고 있다.오늘은 Java 기반의 Spring Boot를 활용해 RESTful API를 설계하는 기본 개념과 방법을 알아보자! 1. RESTful API란? REST(Representational State Transfer)는 웹 서비스 아키텍처 스타일 중 하나로, HTTP 프로토콜을 기반으로 클라이언트와 서버 간 데이터를 주고받는 방법이다. RESTful API는 다음과 같은 특징을 가진다.URL 기반: URI는 특정 리소스를 식별하는 통합 자원 식별자를 나타냄 (예: /users, /products/1). HTTP 메서드 활용:- GET: 자원 조회- POST: 자원 생성- PUT: 자원 수정- DELETE: 자원..