mybatis에서 #과 $의 주요 차이점은 다음과 같습니다. #들어오는 매개변수는 SQL에서 문자열로 표시됩니다. #이 방법은 SQL 삽입을 크게 방지할 수 있습니다. $들어오는 매개변수는 SqL에서 들어오는 값으로 직접 표시되지만 $메서드는 불가능합니다. SQL 주입을 방지합니다.
MyBatis는 맞춤형 SQL, 저장 프로시저 및 고급 매핑을 지원하는 탁월한 지속성 계층 프레임워크입니다. MyBatis는 거의 모든 JDBC 코드와 매개변수 수동 설정 및 결과 세트 검색을 방지합니다. MyBatis는 간단한 XML 또는 주석을 사용하여 기본 정보, 매핑 인터페이스 및 Java POJO(Plain Ordinary Java Object, 일반 Java 개체)를 데이터베이스의 레코드로 구성하고 매핑할 수 있습니다.
동적 SQL은 mybatis의 주요 기능 중 하나입니다. 매퍼에 정의된 매개변수가 xml에 전달된 후 mybatis는 쿼리하기 전에 이를 동적으로 구문 분석합니다. mybatis는 동적 SQL을 지원하는 두 가지 구문을 제공합니다: #{} 및 ${} 둘 다 필요한 매개변수를 sql 문에 동적으로 전달합니다.
mybatis에서 #과 $의 차이점은 무엇입니까
1. 전달된 매개변수는 SQL에서 다르게 표시됩니다
#전달된 매개변수는 SQL에서 문자열(문자열)로 표시됩니다. 자동으로 전달된 데이터에 대한 큰따옴표입니다.
예: 다음 SQL을 사용하세요
select id,name,age from student where id =#{id}
우리가 전달하는 매개변수 ID가 "1"인 경우 위 SQL의 구문 분석은 다음과 같습니다.
select id,name,age from student where id ="1"
$ 전달된 매개변수는 SQL에서 전달된 값으로 직접 표시됩니다.
예: 다음 SQL을 사용하세요.
select id,name,age from student where id =${id}
우리가 전달하는 매개변수 ID가 "1"인 경우 위 SQL의 구문 분석은 다음과 같습니다.
select id,name,age from student where id =1
2 # SQL 삽입(문장의 접합) 위험을 방지할 수 있습니다. $는 SQL 주입을 방지할 수 없습니다.
3. $ 메서드는 일반적으로 테이블 이름과 같은 데이터베이스 개체를 전달하는 데 사용됩니다.
4. 대부분의 경우 #을 자주 사용합니다. 일반적으로 #을 사용할 수 있으면 $를 사용하지 마세요. 예를 들어 MyBatis를 정렬할 때 동적 매개변수를 사용하는 경우에는 $를 사용해야 합니다. # 대신 $ 사용에 주의해야 합니다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !
위 내용은 mybatis에서 #과 $의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!