다중 조건 쿼리를 구현하려면 값이 0일 때 sql을 사용하여 구현하는 방법이 제한되지 않습니다.
예: 특정 지역의 특정 유형의 매장을 쿼리할 때 지역이 무제한일 수 있습니다. 유형이 중국 음식인 경우 쿼리에는 지역 = 값이 필요하지 않고 유형 = 중국인 경우에만 필요합니다. food. 지역이 베이징이면 유형이 중국 음식입니다. 쿼리할 때 where 지역 =BeijingAND 유형=중국 음식입니다.
그 밖에도 if else를 사용하여 백엔드에서 판단한 후 다른 sql 문을 사용하여 쿼리하는 것은 너무 번거롭지만 sql에는 해당 솔루션이 있어야 한다고 생각합니다. 조언 좀 해주세요.
다중 조건 쿼리를 구현하려면 값이 0일 때 sql을 사용하여 구현하는 방법이 제한되지 않습니다.
예: 특정 지역의 특정 유형의 매장을 쿼리할 때 지역이 무제한일 수 있습니다. 유형이 중국 음식인 경우 쿼리에는 지역 = 값이 필요하지 않고 유형 = 중국인 경우에만 필요합니다. food. 지역이 베이징이면 유형이 중국 음식입니다. 쿼리할 때 where 지역 =BeijingAND 유형=중국 음식입니다.
그 밖에도 if else를 사용하여 백엔드에서 판단한 후 다른 sql 문을 사용하여 쿼리하는 것은 너무 번거롭지만 sql에는 해당 솔루션이 있어야 한다고 생각합니다. 조언 좀 해주세요.
해당 위치를 확인하고 철자를 입력할 수 있습니다.
예: $sql = select * from xxx where 1=1;
<code>if(类型!=0){ $sql .= 'and where 类型 = 中餐'; }</code>
쿼리 조건을 Map
<code>public String getWhere(Map<String, Object> params) { String str = ""; if(params.size() > 0) { boolean and = false; for(String param : params.keySet()) { Object value = params.get(param); if(value == null || value.equals(0)) { continue; } else { if(and) { str = str + " and " + param + " = " + " " + value; } else { and = true; str = str + param + " = " + " " + value; } } } } if(str != "") { str = " where " + str; } return str; }</code>
mybatis는 SQL을 주문합니다
JPA는 creteria를 주문합니다
링크 조건 및 또는
Mysql 쿼리는 문자열을 사용하여 Mysql 쿼리 명령을 전달하므로 where 뒤에 있는 쿼리 조건을 수정하는 것이 완전히 가능합니다. 먼저 문자열 배열을 만들어 이러한 명령을 저장한 다음 매번 이를 사용하여 다음과 같은 조건을 수정할 수 있습니다. as Hook 주소를 선택한 후 해당 배열의 값을 수정하거나, 쿼리를 클릭한 후 인터페이스에서 식사 카테고리나 주소 등 어떤 구성요소가 확인되어 있는지 확인하고 해당 값을 가져와서 배열에 추가한 후 비어 있으면 처리되지 않습니다. 비어 있지 않으면 통합 조건 문자열에 추가되고 최종적으로 쿼리 명령 문자열에 추가됩니다.
string cmd = “select. * 통일된 조건이 있는 테이블 이름에서 "
초보라서 신중하게 생각하지 못했을 수도 있지만 이 접근 방식에는 큰 문제가 없을 것입니다