깊이 파고 들 어 jaVA MyBatis-빠 른 입문

프로젝트 생 성 전 환경 구축
이 편 사용 도구:
1、JDK:jdk1.8
2,Mysql l 데이터베이스:mysql-5.7.31-winx 64
3.Maven 개발 도구:apache-maven-3.8.1
4.IDEA 개발 도구:IntelliJ IDEA 2020.1.3 x64
여기에서 우 리 는 MyBatis 를 사용 하여 간단 한 자바 프로젝트 를 개발 하여 추가 삭제 검 사 를 완성 합 니 다.(기본적으로 JDK 와 MySQL 이 설치 되 어 있 고 Maven 과 IDEA 의 기본 동작 을 사용 할 것 입 니 다)
간단 한 소개
마 이 바 티 스 가 뭐야?
MyBatis 는 사용자 정의 SQL,저장 프로 세 스,고급 맵 을 지원 하 는 우수한 지구 층 프레임 워 크 입 니 다.MyBatis 는 거의 모든 JDBC 코드 와 인 자 를 설정 하고 결과 집합 을 가 져 오 는 작업 을 면제 합 니 다.MyBatis 는 간단 한 XML 또는 주 해 를 통 해 원본 형식,인터페이스 와 자바 POJO(Plain Old Java Objects,일반 구식 자바 대상)를 데이터베이스 에 기록 할 수 있 습 니 다.
특징.
1.간단 하고 배우 기 쉬 운 것 자체 가 작고 간단 하 다.제3자 의존 도 없 이 가장 간단 한 설 치 는 두 개의 jar 파일+몇 개의 sql 맵 파일 을 설정 하면 배우 기 쉽 고 사용 하기 쉬 우 며 문서 와 소스 코드 를 통 해 디자인 방향 과 실현 을 완전히 파악 할 수 있 습 니 다.
2.유연성:my batis 는 응용 프로그램 이나 데이터 뱅 크 의 기 존 디자인 에 영향 을 주지 않 습 니 다.sql 은 xml 에 써 서 통일 적 인 관리 와 최적화 에 편리 합 니 다.sql 문 구 를 통 해 데이터 베 이 스 를 조작 하 는 모든 수 요 를 만족 시 킬 수 있 습 니 다.
sql 과 프로그램 코드 의 결합 해제:DAO 층 을 제공 하여 업무 논리 와 데이터 액세스 논 리 를 분리 하여 시스템 의 디자인 을 더욱 뚜렷 하고 유지 하기 쉬 우 며 단원 테스트 를 더욱 쉽게 합 니 다.sql 과 코드 의 분리 로 유지 가능성 이 높 아 졌 습 니 다.
(1)맵 탭 을 제공 하고 대상 과 데이터 베 이 스 를 지원 하 는 orm 필드 관계 맵 을 제공 합 니 다.
(2)대상 관계 맵 라벨 제공,대상 관계 구성 유지 지원
(3)xml 탭 을 제공 합 니 다.동적 sql 작성 을 지원 합 니 다.
(시작)Maven 프로젝트 를 만 들 고 의존 도 를 가 져 옵 니 다.
Maven 프로젝트 새로 만 들 기
첫 번 째 단계:
第一步
두 번 째 단계:
第二步
세 번 째 단계:
第三步
네 번 째 단계
在这里插入图片描述
다섯 번 째 단계
在这里插入图片描述
필요 한 의존
pom.xml 에 직접 넣 으 면 됩 니 다.

<dependencies>
        <!--junit:    -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!--    mybatis  -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!--    mysql  -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.9</version>
        </dependency>
    </dependencies>
    <build>
    <resources>
        <resource>
            <directory>src/main/java</directory><!--    -->
            <includes><!--       .properties,.xml        -->
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
    </build>
(시작)데이터베이스 에 표 만 들 기
users 표 만 들 기
표 이름:users

userld :id
userName :   
userword :   
sex :   
email :   
생 성 표 상세 정보
在这里插入图片描述
가짜 데이터 몇 개 추가
在这里插入图片描述
실체 클래스 만 들 기
가방
在这里插入图片描述
실체 클래스 에 인삼,인삼 없 는 방법,get,set 방법,toString 방법 을 추가 합 니 다.

package com.guanshiang.pojo;
//   
public class Users {
    private Integer userId;
    private String userName;
    private String userword;
    private String sex;
    private String email;
    public Users() {
    }
    public Users(Integer userId, String userName, String userword, String sex, String email) {
        this.userId = userId;
        this.userName = userName;
        this.userword = userword;
        this.sex = sex;
        this.email = email;
    }
    public Integer getUserId() {
        return userId;
    }
    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserword() {
        return userword;
    }
    public void setUserword(String userword) {
        this.userword = userword;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    @Override
    public String toString() {
        return "Users{" +
                "userId=" + userId +
                ", userName='" + userName + '\'' +
                ", userword='" + userword + '\'' +
                ", sex='" + sex + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}
대응 하 는 인터페이스 와 맵,xml 파일 만 들 기
인터페이스:

package com.guanshiang.mapper;
import com.guanshiang.pojo.Users;
import java.util.List;
//     Users 
public interface UsersMapper {
    //    
    int addUsers(Users users);
    //    
    int deleteUsersById(int id);
    //    
    int updateUsers(Users users);
    //  Users      
    List<Users> queryUsers();
    //  Users  
    Users queryUsersByid(int id);
}
매 핑 xml 파일

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--     -->
<mapper namespace="com.guanshiang.mapper.UsersMapper">
<!--
    select :       
    id:     sql       ,mybatis     id         sql  
             ,               。
      resultType :        , sql       ResultSet,    ResultSet  java           sql   ,   java     
                           
 -->
    <!--    -->
    <select id="queryUsers" resultType="com.guanshiang.pojo.Users">
        select * from users
    </select>
</mapper>
<!--
    sql    : sql   ,mybatis     sql
    1、      
    <!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
         mybatis-3-mapper.dtd        ,    dtd 。
     2、       :  ,             ,      mybatis   
     3、mapper          ,   。
        namepace:      ,    ,          ,
                     dao        。
     4、      ,         ,          。
        <select>:       
        <update>:          ,   <update>     update sql  
        <insert>:    ,   insert  
        <delete>:    ,   delete  
-->
XML 에서 SqlSession Factory 구축
다음은 Mybatis 공식 문서 입 니 다.
모든 MyBatis 기반 응용 은 SqlSession Factory 의 인 스 턴 스 를 핵심 으로 합 니 다.SqlSession Factory 의 인 스 턴 스 는 SqlSession Factory Builder 를 통 해 얻 을 수 있 습 니 다.SqlSession Factory Builder 는 XML 프로필 이나 미리 설 정 된 Configuration 인 스 턴 스 를 통 해 SqlSession Factory 인 스 턴 스 를 구축 할 수 있 습 니 다.XML 파일 에서 SqlSession Factory 를 구축 하 는 인 스 턴 스 는 매우 간단 합 니 다.클래스 경로 에 있 는 자원 파일 을 사용 하여 설정 하 는 것 을 권장 합 니 다.파일 경로 문자열 이나 file:/URL 구조의 입력 흐름 과 같은 임의의 입력 흐름(InputStream)인 스 턴 스 를 사용 할 수도 있 습 니 다.MyBatis 는 Resources 라 는 도구 클래스 를 포함 하고 있 으 며,클래스 경로 나 다른 위치 에서 자원 파일 을 불 러 오 는 것 이 더욱 쉬 워 집 니 다.
String resource = “org/mybatis/example/mybatis-config.xml”; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build (inputStream);
XML 프로필 에는 데이터베이스 연결 인 스 턴 스 를 가 져 오 는 데이터 원본(DataSource)과 트 랜 잭 션 역할 영역 과 제어 방식 을 결정 하 는 트 랜 잭 션 관리자(TransactionManager)를 포함 하여 MyBatis 시스템 에 대한 핵심 설정 이 포함 되 어 있 습 니 다.다음은 XML 프로필 의 상세 한 내용 을 검토 할 것 입 니 다.여기 서 간단 한 예 시 를 드 리 겠 습 니 다.
XML 프로필 만 들 기
在这里插入图片描述
내용 은 다음 과 같다.
제발 주의:아래 에 데이터베이스 정 보 를 연결 하려 면 로 컬 정 보 를 써 야 합 니 다.제발 주의:아래 에 데이터베이스 정 보 를 연결 하려 면 로 컬 정 보 를 써 야 합 니 다.제발 주의:아래 에 데이터베이스 정 보 를 연결 하려 면 로 컬 정 보 를 써 야 합 니 다.

<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0/EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--        :        
        default:     environment id   。
          mybatis            ,          
                environment,          ,          id
-->
        <environments default="mydiv">
<!--       environment               ,  
        id:     ,   :       
-->
            <environment id="mydiv">
<!--
    transactionManager: mybatis     
        type:JDBC(    jdbc  Connection   commit,rollback     )
-->
                <transactionManager type="JDBC"/>
<!--
        dataSource:     ,      
            type:        ,POOLED       
-->
                <dataSource type="POOLED">
<!--
    driver,user,username,password     ,     。
-->
                    <!--       -->
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <!--      url   -->
                     <property name="url" value="jdbc:mysql://localhost:3306/guan"/>
<!--                              -->
                    <property name="username"   value="root"/>
<!--                      -->
                     <property name="password" value="guanshiang"/>
                </dataSource>
            </environment>
        </environments>
<!--       sql mapper(sql    )   -->
        <mappers>
<!--         1mapper           
                       。 target/clasess(   )
     -->
<!--                 mapper -->
            <mapper resource="com\guanshiang\dao\StudentDao.xml"/>
        </mappers>
</configuration>
<!--
    myvatis      :             ,sql       。

    1、       
    <!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0/EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
        mybatis-3-config.dtd:      
    2、configuration:   
-->
메모:파일 이 올 바른 지 확인 하 십시오.

    <mappers>
        <mapper resource="com\guanshiang\dao\StudentDao.xml"/>
    </mappers>
테스트 클래스 에서 테스트
test 에서 테스트 클래스 Test 01 만 들 기

package com.guanshiang;
import com.guanshiang.pojo.Users;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class Test01 {
    @Test
    public void test() throws IOException {
        //  mybatis   student  
        //1、  mybatis        ,        (target/clasess)
        String config="mybatis.xml";
        //2、    config     
        InputStream in = Resources.getResourceAsStream(config);
        //3、  SqlSessionFactoryBuider  
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        //4、  SqlSessionFactory  
        SqlSessionFactory factory = builder.build(in);
        //5、【  】  SqlSession  , SqlSessionFactory   SqlSession
        SqlSession sqlSession = factory.openSession();
        //6、【  】      sql     。sql      namecapce + "." +    id 
        String sqlId = "com.guanshiang.mapper.UsersMapper"+"."+"queryUsers";
        //7、  sql  ,  sqlId  
        List<Users> users = sqlSession.selectList(sqlId);
        //8、  
        for (Users u:users){
            System.out.println(u);
        }
        //9、  sqlSession  
        sqlSession.close();
    }
}
실행 결과:

Users{userId=2, userName='   ', userword='1234', sex=' ', email='[email protected]'}
Users{userId=3, userName='   ', userword='weqrwr', sex=' ', email='[email protected]'}
Users{userId=4, userName='   ', userword='guanshiang', sex=' ', email='[email protected]'}
Users{userId=10, userName='  ', userword='123456', sex=' ', email='[email protected]'}
Users{userId=11, userName='  ', userword='asdfasf', sex=' ', email='[email protected]'}
전체 디 렉 터 리
在这里插入图片描述
요약:
이번 에는 Mybatis 도구 류 등 을 사용 하지 않 았 습 니 다.
첨삭 검사 등 을 완성 하려 면,
먼저 인 터 페 이 스 를 쓰 고 대응 하 는 sql 맵 파일 을 쓰 십시오.xml
테스트 클래스 에서 테스트 하면 됩 니 다.6,7,8 절 차 를 바 꾸 면 됩 니 다.
인 터 페 이 스 는 이미 위 에 다 썼 다.
이 편 은 먼저 조 회 를 완성 한다.
비고:선배 님 들 이 제공 해 주신 학습 자원 에 감 사 드 립 니 다.
본 영 화 는:MyBatis 홈 페이지 문서
이 글 은 여기까지 입 니 다.당신 에 게 도움 을 줄 수 있 기 를 바 랍 니 다.또한 당신 이 우리 의 더 많은 내용 에 관심 을 가 져 주 실 수 있 기 를 바 랍 니 다!

좋은 웹페이지 즐겨찾기