Notice
Recent Posts
Recent Comments
Link
투케이2K
45. (spring/스프링) mybatis 에서 mysql 데이터베이스 select where like 특정 문자 포함 조건 조회 실시 본문
Spring
45. (spring/스프링) mybatis 에서 mysql 데이터베이스 select where like 특정 문자 포함 조건 조회 실시
투케이2K 2022. 6. 9. 15:19[개발 환경 설정]
개발 툴 : inteli j
개발 언어 : spring
[컨트롤러 : DB_Maria_Api_Controller : 소스 코드]
// TODO [SEARCH FAST] : [테스트 select where like 조회]
@GetMapping("/testWhereLike")
public String testWhereLike(@RequestParam Map<String, String> param){ // [쿼리 파람 방식]
//public String testWhereLike(@RequestBody Map<String, String> param){ // [body 방식]
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("testWhereLike"));
System.out.println("[INPUT] : "+String.valueOf(param.toString()));
System.out.println("================================================");
System.out.println("\n");
/**
* // -----------------------------------------
* [호출 방법]
* // -----------------------------------------
* 1. 호출 방식 : GET
* // -----------------------------------------
* 2. 호출 방법 : http://localhost:7000/testWhereLike
* // -----------------------------------------
* 3. 리턴 데이터 :
* select 수행 쿼리문 데이터
* // -----------------------------------------
* */
// [like 조건 조회 문자열 만들기]
String likeString = "%" + "고" + "%";
// [service 호출 수행]
List<Map<String, Object>> returnData = db_maria_api_service.TEST_WHERE_LIKE(likeString);
// [리턴 받은 map 데이터 널 체크 실시]
try {
if (returnData != null){
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("testWhereLike"));
System.out.println("[RESULT] : "+String.valueOf(returnData.toString()));
System.out.println("================================================");
System.out.println("\n");
// [리턴 데이터 반환]
return returnData.toString();
}
}
catch (Exception e){
e.printStackTrace();
}
// [리턴 데이터 반환]
return "";
}
[서비스 : DB_Maria_Api_Service : 소스 코드]
// TODO [SEARCH FAST] : [테스트 select where like 조회]
public List<Map<String, Object>> TEST_WHERE_LIKE(String dept){
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("TEST_WHERE_LIKE"));
System.out.println("[INPUT] : "+String.valueOf(dept));
System.out.println("================================================");
System.out.println("\n");
// [mybatis xml 에서 설정한 인풋값 명칭에 맞게 데이터 가공 실시]
Map map = new HashMap<>();
map.put("DEPT", String.valueOf(dept));
// [mapper 인터페이스 호출 실시]
List<Map<String, Object>> returnData = db_maria_api_mapper.TEST_WHERE_LIKE(map);
// [리턴 값 반환]
return returnData;
}
[매퍼 : DB_Maria_Api_Mapper : 소스 코드]
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
// TODO [매퍼 어노테이션]
@Mapper
public interface DB_Maria_Api_Mapper {
/**
* // -----------------------------------------
* TODO [클래스 설명]
* // -----------------------------------------
* 1. 데이터베이스 접근 및 매퍼 인터페이스
* // -----------------------------------------
* 2. 데이터베이스 쿼리문 수행 xml 리턴 값 받음
* // -----------------------------------------
* */
/**
* // -----------------------------------------
* // TODO [빠른 로직 찾기 : 주석 로직 찾기]
* // -----------------------------------------
* // [SEARCH FAST] : [테스트 select where like 조회]
* // -----------------------------------------
* */
// TODO [SEARCH FAST] : [테스트 select where like 조회]
List<Map<String, Object>> TEST_WHERE_LIKE(Map map);
} // TODO [클래스 종료]
[mybatis : DB_Maria_Api_Mybatis : 소스 코드]
<!--
// =========================================
// [SEARCH FAST] : [테스트 select where like 조회]
// =========================================
// [select id] [mapper 인터페이스 지정 메소드] : TEST_WHERE_LIKE
// =========================================
-->
<select id="TEST_WHERE_LIKE" parameterType="hashmap" resultType="hashmap">
<![CDATA[
select distinct T_DEPT
from TEST_USER
where T_DEPT like #{DEPT}
]]>
</select>
[DB Connection : application.yml : 소스 코드]
# [Maria DB]
maria:
driver-class-name: org.mariadb.jdbc.Driver
jdbc-url: jdbc:mariadb://3.54.138.43:3306/test?characterEncoding=UTF-8&serverTimezone=UTC&characterEncoding=utf8&noAccessToProcedureBodies=true
username: test
password: test@1234
hikari:
maximum-pool-size: 20
connection-timeout: 30000
[결과 출력]
반응형
'Spring' 카테고리의 다른 글
Comments