Java(159)
-
Mybatis ${} 사용시 SQL Injection 피하기
// Example: Validate column names and operatorsList validColumns = Arrays.asList("column1", "column2", "column3");List validOperators = Arrays.asList("=", "", "=", "like");for (Map condition : conditions) { String column = (String) condition.get("data"); String operator = (String) condition.get("compare"); if (!validColumns.contains(column)) { throw new IllegalArgumentException("..
2025.01.15 -
Java String[]에 원하는 문자가 있는지 확인
Arrays.asList 이용String[] array = {"apple", "banana", "cherry"};String valueToCheck = "banana";boolean isIncluded = Arrays.asList(array).contains(valueToCheck);if (isIncluded) { System.out.println(valueToCheck + " is in the array.");} else { System.out.println(valueToCheck + " is not in the array.");}for문 이용String[] array = {"apple", "banana", "cherry"};String valueToCheck = "banana";boolea..
2025.01.15 -
Java String이 숫자인지 확인
public boolean isNumeric(String str) { return str != null && str.matches("\\d+(\\.\\d+)?");}
2025.01.15 -
Mybatis REGEXP_LIKE 사용시 에러
Mapper.xml AND ${condition.data} ${condition.compare} CASE WHEN NOT REGEXP_LIKE(#{condition.value}, '^\d+(\.\d+)?$') THEN #{condition.value} ELSE TO_CHAR(TO_NUMBER(#{condition.value})) END에러java.sql.SQLSyntaxErrorException: ORA-00932: 일관성 없는 데이터 유형: CHAR이(가) 필요하지만 NUMBER임쿼리 결과 AND DATA1 = CASE WHEN NOT REGEXP_LIKE('EX', '^\d+(\.\d+)'EX'$') THEN 'EX' ELSE ..
2025.01.15 -
Mybatis null처리를 위한 <If>와 NVL 비교 2025.01.12
-
Java get 방식으로 파라메터 전송할때 encoding
import java.net.URLEncoder;import java.nio.charset.StandardCharsets;public class URLEncoderExample { public static void main(String[] args) { try { String value = "Hello World!"; String encodedValue = URLEncoder.encode(value, StandardCharsets.UTF_8); System.out.println(encodedValue); // Output: Hello+World%21 } catch (Exception e) { e...
2025.01.11