mybatis 소개 :
Mybatis는 Apache의 오픈 소스 프로젝트입니다. 2010 년 에이 프로젝트는 Apache Software Foundation에서 Google 코드로 이전되었으며 Mybatis로 이름이 바뀌 었습니다. 2013 년 11 월 Github로 마이그레이션되었습니다.
Mybatis는 맞춤형 SQL, 저장 프로 시저 및 고급 매핑을 지원하는 우수한 지속성 계층 프레임 워크입니다. MyBatis는 거의 모든 JDBC 코드를 피하고 매개 변수를 수동으로 설정하고 결과 세트를 얻습니다. MyBatis는 간단한 XML 또는 주석을 사용하여 기본 정보를 구성하고 매핑하고 인터페이스 및 Java Pojos (일반 Old Java Objects)를 데이터베이스의 레코드로 매핑 할 수 있습니다.
1. mybatis의 기능 :
간단히 말해서, mybatis는 XML 파일을 통해 SQL을 구성하고 PO에 대한 맵을 구성하는 DAO 레이어를 구현합니다.
2. 준비 해야하는 인용 패키지
Mybatis-3.2.8.jar : Mybatis 프레임 워크가 사용됩니다
ojdbc6.jar : 데이터베이스 연결
mybatis 환경의 구성 (여기에 mybatis의 별도의 구성이 있습니다) :
먼저 : Mybatis Jar 패키지의 다운로드 및 가져 오기
v3.4.5의 다운로드 주소는 다음과 같습니다.
http://xiazai.vevb.com/201712/yuanma/mybatis-3.4.5.rar
버전 3.4.5를 사용하고 싶지 않지만 주소를 잊어 버리면 Github.com : Mybatis의 공식 웹 사이트에서 직접 검색 할 수 있습니다.
검색 결과는 그림에 나와 있습니다.
현재 최신 다운로드를 클릭 한 다음 다운로드하려는 버전을 선택하십시오.
다운로드 된 압축 패키지를 압축하고 lib 폴더의 모든 mybatis-3.4.5.jar와 jar를 Eclipse로 가져옵니다. 물론 현재 MySQL 드라이버의 JAR 패키지를 MySQL-Connector-Java-5.1.44.jar로 가져와야합니다.
여기서 Maven을 사용하지 않았기 때문에 모든 항아리를 수동으로 가져 왔기 때문에 다음 구성이 필요하지 않습니다.
<pectionency> <groupid> org.mybatis </groupid> <artifactid> mybatis </artifactid> <bersion> 3.4.5 </version> </fectionency>
2. 구성 파일 쓰기
자체 프로젝트에서 소스 폴더를 만들고, 자신의 구성 문서를 저장하고 SQLMAPPERSCONFIG.XML을 작성한 다음 다음 구성을 복사하십시오 (공무원이 제공 한 공식 구성, 공식 구성을 자신의 공식 구성 변경).
<? xml version = "1.0"encoding = "utf-8"?> <! doctype configurationpublic "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <transactionManager type = "jdbc"/> <dataSource type = "pooled"> <property name = "driver"value = "$ {driver}"/> <property name = "url"value = "$ {url}"/> <속성 이름 = "username"value = "$ {username}"/> </환경> </환경> <mappers> <Mapper Resource = "org/mybatis/example/blogmapper.xml"/> </mappers> </configuration>sqlconnect.properties의 구성은 다음과 같습니다.
sqldriver : com.mysql.jbdc.driversqlurl : mysql : jbdc : //172.20.60.2/spectergk? useUnicode = true & factiremoding = utf8sqlusername : testsqluserpwd : 1111111
지금까지 구성 해야하는 구성의 기본 구성을 완료했지만 구성, 테스트 코드의 구성입니다.
public void functiontest () {//system.out.println("start mybatis "); inputStream inputStream = null; {<br data-filtered = "필터링"> inputStream = resources.getResourceasStream ( "sqlmapconfig.xml"); } catch (ioexception e) {// todo 자동 생성 캐치 블록 e.printstacktrace (); } /** 공장 생성* / sqlsessionFactory sqlsessionFactory = new SqlSessionCeptoryBuilder (). 빌드 (inputStream); / * * 열기 SSION */ sqlsession sqlsession = sqlsessionFactory.Opensession (); System.out.println (sqlsession); sqlsession.close (); try {inputStream.close (); } catch (ioexception e) {// todo 자동 생성 캐치 블록 e.printstacktrace (); }}현재 인쇄는 우리가 성공적으로 구성했음을 증명하는 값이며 나머지는 맵퍼를 설정할 수 있습니다.
둘째 : Mybatis Mapper가 Dynamic Proxy를 사용할 수 있고 동적 프록시를 직접 사용하기 때문에 매퍼의 생성 및 사용은 다음과 같습니다.
Pojo 패키지에서 생성 :
user.java
Mappers 패키지 생성 :
usermapper.java
sqlmappersconfig.xml과 동일한 디렉토리에서 생성 :
user.xml
sqlmappersconfig.xml에서 다음 코드를 구성하십시오.
<!-다음은 별칭의 별칭입니다. com.spectergk.mybatis.pojo.user-!> <taperaliases> <faintealias type = "com.spectergk.mybatis.pojo.user"alias = "user"/</intealiases> <!-맵핑 자로드 Resource = "user.xml"/> </mappers>
데이터베이스의 간단한 추가, 삭제, 수정 및 검색을 구현하십시오. 특정 구현은 다음과 같습니다.
user.xml
<? xml version = "1.0"alcoding = "utf-8"?> <! doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><! proxy-> <mapper nomespace = "com.spectergk.mybatis.mappers.usermapper"> <!-여기에서 구성된 반환 값은 사용자이기 때문에 SQLMAPPERSCONFIG.XML-> <!-사용 된 ID에 따라 사용자의 반환 값을 쿼리했습니다. 사용자가 전달하는 값은 ParameterType-> <select id = "selectUserById"resultType = "user"parameterType = "string"> select *에서 uid = #{v} </select> <!-사용자 이름을 기반으로 한 퍼지 쿼리-> <selectUsersByUserName = "selectType =" "selectepe =" "selecte" "%"#{v} "%"; </select> <!-데이터베이스에 데이터를 삽입-> <insert id = "insertoneUser"parameterType = "user"> user에 삽입 (UID, username, realname, mobile, mainpid, sex) 값 (#{uid},#{username},#{realname},#{mainpid})); </insert> <!-데이터를 삽입하고 반환하는 자동으로 생성 된 UID-> <insertoneUgetId "ParameterType ="user "> <selectkey keyProperty ="uid "keycolumn ="uid "resultType ="String "order ="at at select_insert_id () </selectkey> insert incint inc insert. 사용자 (username, realname, mobile, mainpid, sex) 값 (#{username},#{realname},#{mobile},#{mainpid},#{sex}); </insert> <!-목록 양식에 삽입-> <Insert id = "InsetUsers"> user (uid, username, realname, mobile, mainpid, sex) 값 <foreach collection = "item"item "separator =", "> (#{item.uid},#{item.username},#{item.realname},#{item.mobile},#{item.mainpid},#{item.sex}) </foreach> </insert> <!-</insert> </insert> <insert id = "Insetusarray"> user (uid, username, realname, mobile, mainpid, sex) 값 <foreach collection = "array"item = "item"separator = ","> (#{item.uid},#{item.username},#{item.realname},#{item.mobile},#item.mainpid},#{itex.mainpid}) </insert> <!-사용자 업데이트-> <Update id = "updateUser"ParameterType = "User"> USD 사용자 세트 username = #{username} here uid = #{uid} </update> <!-<delete id = "deleteOneser"parametertype = "String"> uid = {velete> id = "deletemoreUsers"> uid in (<foreach collection = "list"item = "item"separator = ","> #{item} </foreach>) </delete> </mapper>.동적으로로드되기 때문에 여기에 인터페이스를 작성하십시오.
package com.spectergk.mybatis.mappers; import java.util.list; import com.spectergk.mybatis.pojo.user; public interface usermapper { / * * query 사용자 ID * / public user selectUserById (String ID); / * * 사용자 이름을 기반으로 한 퍼지 쿼리 */ public list <user> selectUsersByUserName (String username); /** 사용자 삽입*/ public void insertoneuser (사용자); / * * 사용자를 삽입하고 삽입 된 사용자의 ID를 반환 */ public void insertoneUserGetID (사용자 사용자); /** 여러 사용자 삽입*/ public void insertUsers (list <user> 사용자); / * * 배열을 전송하도록 여러 사용자를 삽입 */ public void InserTusersArray (user [] users); /** updateUser Update*/ public void updateUser (사용자); / * * 하나 삭제 */ public void deleteoneuser (String UID); / * * deletemoreusers 삭제 다중 */ public void deletemoreusers (list <string> uids);}테스트 코드로 인해 퍼지 테스트 코드 만 여기에 작성됩니다.
// Query public void fuzzysearch () {System.out.println ( "시작 mybatis"); inputStream inputStream = null; {inputStream = resources.getResourceasStream ( "sqlmapconfig.xml"); } catch (ioexception e) {// todo 자동 생성 캐치 블록 e.printstacktrace (); } /** 공장 생성* / this.sqlsessionFactory = new SqlSessionCeptoryBuilder (). 빌드 (inputStream); / * * 열기 SSION */ SQLSESSION SQLSESSION = this.sqlSessionFactory.OpenSession (); System.out.println (sqlsession); usermapper usermapper = sqlsession.getmapper (usermpper.class); List <user> user = usermapper.selectusersbyusername ( "liu"); for (user user : user) {system.out.println (사용자); } sqlsession.close (); }요약
위는 편집자가 소개 한 Mybatis 환경의 구성 및 사용을위한 예제 코드입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!