[마이바티스 0%부터 90%까지 초보강의] 14: 마이바티스에서 매개변수 전달 #에 $가 왜 필요한가요?

CSDN, 기술인력 1억명 달성

기사 디렉토리


머리말

MyBatis는 SQL 문에 동적 매개변수를 삽입하는 두 가지 방법을 제공합니다: #{}和${}. 일반적인 방법은 #{}를 사용하는 것입니다. 이는 방지할 수 있습니다 a>SQL 주입 공격 및 ${} SQL 주입 위험. 그래서 궁금한거 있으면 요즘은 안쓰는데${},그러면 ${}가 존재해야 합니까?기능과 사용 시나리오는 무엇입니까?


차이점

두 가지의 차이점에 대해 간단히 이야기해 보겠습니다. 이 점 역시면접에서 흔히 볼 수 있는 시험 포인트 중 하나입니다.

#{}사전 컴파일 처리은 SQL 주입 공격을 방지할 수 있습니다. 기본 매개변수는 PreparedStatement를 사용하여 전달되며 유형은 동시에 자동으로 수행됩니다. 문자열을 숫자로 변환하는 등의 변환

${}문자열 교체, 매개변수를 SQL 문으로 직접 바꾸고 매개변수를 전달합니다.

Supongo que te gusta

Origin blog.csdn.net/scm_2008/article/details/134170284
Recomendado
Clasificación