SQL 매핑 파일의 예제 튜토리얼
Sql 매핑 파일
MyBatis의 진정한 힘은 매핑 문에 있습니다. 동일한 기능을 갖춘 jdbc와 가격을 비교하면 매핑 파일을 사용하면 많은 코드가 절약됩니다. MyBatis는 SQL에 중점을 두고 만들어졌습니다.
SQL 매핑 파일에는 다음과 같은 최상위 요소가 있습니다. (순서대로)
cache는 지정된 네임스페이스에 대한 캐시를 구성합니다.
cache-ref는 다른 네임스페이스의 캐시 구성을 참조합니다.
resultMap은 데이터베이스 결과 세트에서 개체를 로드하는 방법을 설명하는 데 사용되는 가장 복잡하고 강력한 요소입니다.
parameterMap이 더 이상 사용되지 않습니다! 구식 스타일의 매개변수 매핑. 인라인 매개변수가 선호되며, 이 요소는 나중에 제거될 수 있습니다.
SQL 블록은 재사용이 가능하며 다른 문에서 참조할 수도 있습니다.
삽입 지도 삽입 문.
업데이트 매핑 업데이트 문.
delete 지도 삭제 문.
매핑 쿼리 문을 선택하세요.
MyBatis는 SQL에 중점을 두고 만들어졌기 때문에 일반적인 방법과는 거리가 멀습니다.
SQL 매핑 파일에는 몇 가지 최상위 요소가 있습니다(정의되어야 하는 순서대로).
>mapper: 서로 다른 매퍼를 구별하는 데 사용되는 속성 네임스페이스가 하나만 있는 매핑 파일의 루트 요소 노드입니다. 전역적으로 고유하며 네임스페이스에 바인딩된 DAO 인터페이스의 전체 이름, 즉 인터페이스 지향 프로그래밍입니다. 여기서 매퍼는 인터페이스의 구현 클래스와 동일합니다.
캐시 - 특정 네임스페이스에 대한 캐시를 구성합니다.
cache-ref – 다른 네임스페이스의 참조 캐시 구성입니다.
resultMap – 데이터베이스 결과 세트에서 개체를 로드하는 방법을 설명하는 데 사용되는 가장 복잡하고 강력한 요소입니다.
parameterMap – 더 이상 사용되지 않습니다! 구식 스타일의 매개변수 매핑. 인라인 매개변수가 선호되며, 이 요소는 나중에 제거될 수 있습니다. 여기에는 기록되지 않습니다.
sql – 다른 문에서 재사용하고 참조할 수 있는 SQL 블록입니다.
insert – 매핑 삽입 문
update – 매핑 업데이트 문
delete – 매핑 삭제 문
select – 매핑 쿼리 문
1: select를 사용하여 조건부 쿼리 완료
도구 idea 및 mysql 데이터베이스 사용
엔터티 클래스 만들기
public class student {private int stuId;private String stuName;private grade getGrade;private int stuAge;public grade getGetGrade() {return getGrade; }public void setGetGrade(grade getGrade) {this.getGrade = getGrade; }public int getStuAge() {return stuAge; } public student(int id,String name){ } public student(){}public void setStuAge(int stuAge) {this.stuAge = stuAge; }public int getStuId() {return stuId; }public void setStuId(int stuId) {this.stuId = stuId; }public String getStuName() {return stuName; }public void setStuName(String stuName) {this.stuName = stuName; } }
select를 사용하여 조건부 쿼리 완료
1: 먼저 resultType을 사용하도록 매퍼를 구성합니다
<!--模糊查询 使用resultType返回结果集--> <select id="getAllStudentByLike" parameterType="String" resultType="stu">* from student where stuName like CONCAT('%',#{stuName},'%'</select>
Test class
public void Test() throws IOException { studentDao dao = MyBatis.getSessionTwo().getMapper(studentDao.class); List<student> list = dao.getAllStudentByLike("z");for (student item:list) { System.out.println("----------"+item.getStuName()); } }
parameterType은 Map 외에도 Map을 비롯한 복잡한 유형을 지원합니다. javaBean
유형은 Mapper
<!--模糊查询--> <select id="getAllStudentByLike" parameterType="Map" resultType="stu">select * from student where stuName like CONCAT('%',#{stuName},'%')</select>
를 수정한 다음 테스트 클래스에서 HashMap 컬렉션을 메소드 매개변수
studentDao dao = MyBatis.getSessionTwo().getMapper(studentDao.class); Map<String,String> userMap = new HashMap<String, String>(); userMap.put("stuName","z"); List<student> list = dao.getAllStudentByLike(userMap);for (student item:list) { System.out.println("----------"+item.getStuName()); }
로 직접 생성하는 것입니다. 단, 맵 컬렉션의 키 값은 다음과 같아야 합니다. 클래스의 필드 이름과 동일합니다.
둘: resultMap을 사용하여 두 테이블 쿼리 완성
예를 들어 학생 테이블의 기본 키 ID가 클래스 테이블과 연결되어 있는 경우 resultType을 사용하면 해당 ID만 표시할 수 있지만 실제로는 클래스 이름에 중점을 두는 경우가 많으므로 결과를 사용자 정의하려면 resultMap 매핑을 사용해야 합니다.
<resultMap id="studentMap" type="entity.student"> <id property="stuId" column="stuId"></id> <result property="stuName" column="stuName"></result> <result property="gradeName" column="gradeName"> </resultMap> //sql语句
select * from student,grade
resultType은 기본 유형과 복합 데이터 유형을 포함한 반환 유형을 직접 나타냅니다.
resultMap은 외부 resultMap에 대한 참조이며, resultMap에 해당하는 id는 반환 결과가 매핑되는 resultMap을 나타냅니다. : 그의 적용 시나리오는 다음과 같습니다. 데이터베이스 필드 정보가 객체 속성과 일치하지 않거나 복잡한 공동 쿼리를 수행하여 매핑 결과를 자유롭게 제어해야 합니다.
또한 MyBatis의 select 요소에서 resultType과 resultMap은 본질적으로 동일하며 둘 다 Map 데이터 구조입니다. 하지만 둘 다 동시에 존재할 수는 없습니다.
Three: resultMap의 자동 매핑 수준을 사용합니다
MyBatis는 세 가지 매핑 수준으로 나뉩니다
컬렉션)
제외
4 속성 연관 이전 결과는 다음의 특정 "단순 유형" 속성에만 매핑될 수 있습니다. javaBean, 기본 데이터 유형 및 패키징 클래스 등/그러나 복합 유형의 속성을 매핑하려면 연관을 사용해야 합니다. 복합 클래스 xing: 즉, javaBean에는 또 다른 javaBean이 있지만 연관만 있습니다. 일대일 연결을 처리합니다<settings> <!--设置resultMap的自动映射级别为Full(自动匹配所有)--><setting name="autoMappingBehavior" value="FULL" /> <!--FULL要大写··--> </settings>
<update id="update">update student set stuName=#{0} where stuId=#{1}</update>
stuAge; 。。。。。省略封装
测试类里直接调用即可
六:前面说到association仅处理一对一的管理关系
如果要处理一对多的关系,则需要使用collection,它与 association元素差不多,但它映射的属性是一个集合列表,即javaBean内部嵌套一个复杂数据类型属性。
javaBean
private int gradeId;private String gradeName;private List<student> gatStudent;
<resultMap id="gradeMap" type="grade"> <!--<id property="gradeId" column="gradeId"></id> <result property="gradeName" column="gradeName"></result>--> <collection property="gatStudent" ofType="stu"> <!-- <id property="stuId" column="stuId"></id> <result property="stuName" column="stuName"></result>--> </collection> </resultMap>
<!--查询对应年级的student--> <select id="getAll" resultMap="gradeMap"> select * from student,grade where stuGrade = gradeId and gradeId=1 </select>
위 내용은 SQL 매핑 파일의 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











WeChat을 열고 내 설정을 선택하고 일반을 선택한 다음 저장 공간을 선택하고 저장 공간에서 관리를 선택한 다음 파일을 복원하려는 대화를 선택하고 느낌표 아이콘을 선택합니다. 튜토리얼 적용 모델: iPhone13 시스템: iOS15.3 버전: WeChat 8.0.24 분석 1 먼저 WeChat을 열고 내 페이지에서 설정 옵션을 클릭합니다. 2 그런 다음 설정 페이지에서 일반 옵션을 찾아 클릭합니다. 3일반 페이지에서 저장 공간을 클릭하세요. 4 그런 다음 저장 공간 페이지에서 관리를 클릭하세요. 5마지막으로 파일을 복구하려는 대화를 선택하고 오른쪽의 느낌표 아이콘을 클릭하세요. 보충: WeChat 파일은 일반적으로 며칠 내에 만료됩니다. WeChat에서 받은 파일을 클릭하지 않은 경우 WeChat 파일을 본 경우 WeChat 시스템에서 해당 파일을 지웁니다.

Windows에서 사진 앱은 사진과 비디오를 보고 관리하는 편리한 방법입니다. 이 애플리케이션을 통해 사용자는 추가 소프트웨어를 설치하지 않고도 멀티미디어 파일에 쉽게 액세스할 수 있습니다. 그러나 때때로 사용자는 사진 앱을 사용할 때 "지원되지 않는 형식이므로 이 파일을 열 수 없습니다."라는 오류 메시지가 표시되거나 사진이나 비디오를 열려고 할 때 파일이 손상되는 등 몇 가지 문제가 발생할 수 있습니다. 이러한 상황은 사용자에게 혼란스럽고 불편할 수 있으므로 문제를 해결하려면 몇 가지 조사와 수정이 필요합니다. 사용자가 사진 앱에서 사진이나 비디오를 열려고 하면 다음 오류가 표시됩니다. 죄송합니다. 해당 형식이 현재 지원되지 않거나 파일이 아니기 때문에 포토에서 이 파일을 열 수 없습니다.

Tmp 형식 파일은 일반적으로 실행 중에 컴퓨터 시스템이나 프로그램에 의해 생성되는 임시 파일 형식입니다. 이러한 파일의 목적은 프로그램이 제대로 실행되거나 성능을 향상시키는 데 도움이 되는 임시 데이터를 저장하는 것입니다. 프로그램 실행이 완료되거나 컴퓨터가 다시 시작되면 이러한 tmp 파일은 더 이상 필요하지 않은 경우가 많습니다. 따라서 Tmp 형식 파일의 경우 기본적으로 삭제가 가능합니다. 또한 이러한 tmp 파일을 삭제하면 하드 디스크 공간을 확보하고 컴퓨터의 정상적인 작동을 보장할 수 있습니다. 그러나 Tmp 형식 파일을 삭제하기 전에 다음을 수행해야 합니다.

컴퓨터에서 폴더를 삭제하거나 압축을 풀 때 "오류 0x80004005: 지정되지 않은 오류"라는 프롬프트 대화 상자가 나타나는 경우가 있습니다. 이러한 상황이 발생하면 어떻게 해야 합니까? 실제로 오류 코드 0x80004005가 나타나는 데에는 여러 가지 이유가 있지만 대부분은 바이러스로 인해 발생합니다. 문제를 해결하기 위해 dll을 다시 등록할 수 있습니다. 아래에서는 편집기에서 0x80004005 오류 코드를 처리한 경험을 설명합니다. . 일부 사용자는 컴퓨터를 사용할 때 오류 코드 0X80004005가 표시됩니다. 0x80004005 오류는 주로 컴퓨터가 특정 동적 링크 라이브러리 파일을 올바르게 등록하지 않거나 컴퓨터와 인터넷 간의 HTTPS 연결을 허용하지 않는 방화벽으로 인해 발생합니다. 그렇다면 어떨까요?

gho 파일은 일반적으로 전체 하드 디스크나 파티션 데이터를 파일로 백업하는 데 사용되는 GhostImage 이미지 파일입니다. 일부 특정 경우에는 하드 드라이브나 파티션을 이전 상태로 복원하기 위해 이 gho 파일을 하드 드라이브에 다시 설치해야 합니다. gho 파일을 설치하는 방법은 다음과 같습니다. 먼저, 설치하기 전에 다음 도구와 자료를 준비해야 합니다. Entity gho 파일: 일반적으로 접미사가 .gho이고 백업이 포함된 완전한 gho 파일이 있는지 확인합니다.

Quark Netdisk와 Baidu Netdisk는 현재 파일 저장에 가장 일반적으로 사용되는 Netdisk 소프트웨어입니다. Quark Netdisk의 파일을 Baidu Netdisk에 저장하려면 어떻게 해야 합니까? 이번 호에서는 편집자가 Quark Network Disk 컴퓨터에서 Baidu Network Disk로 파일을 전송하는 방법에 대한 튜토리얼 단계를 정리했습니다. Quark 네트워크 디스크 파일을 Baidu 네트워크 디스크에 저장하는 방법은 무엇입니까? Quark Network Disk에서 Baidu Network Disk로 파일을 전송하려면 먼저 Quark Network Disk에서 필요한 파일을 다운로드한 다음 Baidu Network Disk 클라이언트에서 대상 폴더를 선택하고 열어야 합니다. 그런 다음 Quark Cloud Disk에서 다운로드한 파일을 Baidu Cloud Disk 클라이언트가 연 폴더에 끌어서 놓거나 업로드 기능을 사용하여 Baidu Cloud Disk에 파일을 추가합니다. 업로드가 완료된 후 파일이 Baidu Cloud Disk에 성공적으로 전송되었는지 확인하세요. 그게 다야

파일 경로는 운영 체제에서 파일이나 폴더를 식별하고 찾는 데 사용되는 문자열입니다. 파일 경로에는 경로를 구분하는 두 가지 공통 기호, 즉 슬래시(/)와 백슬래시()가 있습니다. 이 두 기호는 운영 체제에 따라 용도와 의미가 다릅니다. 슬래시(/)는 Unix 및 Linux 시스템에서 일반적으로 사용되는 경로 구분 기호입니다. 이러한 시스템에서 파일 경로는 루트 디렉터리(/)에서 시작하고 각 디렉터리 사이를 슬래시로 구분합니다. 예를 들어 /home/user/Docume 경로는 다음과 같습니다.

최근 많은 네티즌들이 편집자에게 hiberfil.sys 파일이 무엇인지 문의했습니다. hiberfil.sys가 C 드라이브 공간을 많이 차지하고 삭제될 수 있나요? 편집자는 hiberfil.sys 파일을 삭제할 수 있음을 알려줄 수 있습니다. 아래에서 자세한 내용을 살펴보겠습니다. hiberfil.sys는 Windows 시스템의 숨겨진 파일이자 시스템 최대 절전 모드 파일입니다. 일반적으로 C 드라이브의 루트 디렉터리에 저장되며 크기는 시스템에 설치된 메모리 크기와 동일합니다. 이 파일은 컴퓨터가 최대 절전 모드일 때 사용되며, 복구 시 빠르게 이전 상태로 복원할 수 있도록 현재 시스템의 메모리 데이터를 담고 있습니다. 크기가 메모리 용량과 동일하므로 하드 드라이브 공간을 더 많이 차지할 수 있습니다. 동면
