깊이 파고 들 어 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 홈 페이지 문서
이 글 은 여기까지 입 니 다.당신 에 게 도움 을 줄 수 있 기 를 바 랍 니 다.또한 당신 이 우리 의 더 많은 내용 에 관심 을 가 져 주 실 수 있 기 를 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MyBatis + SpringBoot로 CRUD 앱 만들기 ※ 불필요한 것은 배 ※ 1/2MyBatis를 사용하여 ToDo 목록을 만듭니다. 할 일 등록 (블랭크를 등록 할 수 없음) 할 일보기 할 일 변경 할 일 지우기 SpringBoot의 CRUD가 가능한 책은 있지만 MyBatis를 사용한 것은 적...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.