mybatis 소개
MyBatis는 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하는 우수한 지속성 계층 프레임 워크입니다. MyBatis는 거의 모든 JDBC 코드 및 매개 변수의 수동 설정을 제거하고 결과 세트를 검색합니다. MyBatis는 단순한 XML 또는 주석을 사용하여 구성 및 원래 매핑을 위해 인터페이스를 맵핑하고 Java의 Pojos (일반 Old Java Objects)를 데이터베이스의 레코드로 사용할 수 있습니다.
mybatis 다운로드 : https://github.com/mybatis/mybatis-3/releases
mybatis 인스턴스
사용자 테이블에서 CRUD 작업 :
사용자 테이블 :
-------------------------`사용자 '를위한 테이블 구조 ----------------------------------------------------------------------------------------------``user' '(`int'int (11) not null auto_increment,`username` varchar (50) default null,`userage` int (11) default null,``````````username "varchar (50)))))))). 엔진 = innodb auto_increment = 6 기본 charset = utf8;-----------------------------------------------------------------------`user` 값 ( '1', 'summer', '30', '30', 'Shanghai');`user` 값 ( '2', '22', '2', ''`````````) 'test1', '29', 'some place'); '사용자'값 ( '4', 'lu', '28', 'some place')에 삽입;`user` 값 ( '5', 'xiaoxun', '27', 'nanjing')에 삽입; myBatis XML 구성 파일 configuration.xml <? xml 버전 = "1.0"encoding = "utf-8"?> <! docType configuration public "-// mybatis.org//dtd config 3.0 // en "" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <! <!-mybatis alias 정의-> <tondealiases> <failtealias alias = "user"type = "com.mybatis.test.user"/> <환경 = "개발"> << id = "develop"> <transactionManager type = "jdbc"/> <dataSource type = "pooled"> <property name = "driver"value = "com.mysql.jdbc.driver"/> <property name = "url"value = "jdbc : mysql : //127.0.0.1 : 3306/mybatis"/> <assern " value = "root"/> <property name = "password"value = "admin"/> </dataSource> </환경> </환경> <!-MyBatis Mapper 파일, 각 XML 구성 파일은 인터페이스에 해당합니다-> <mapphers> <Mapper Resource = "com/mybatis/test/user.xml"/> <mappers>
사용자 Mappers의 user.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 ="servatis.test.test. 명령문-> <select id = "selectUserById"parameterType = "int"resultType = "user"> select * from`user.id = where user.Id = #{id} {id} </select> <!-정의 된 결과 맵은 클래스의 일치하지 않는 속성 이름과 데이터베이스 열 이름을 해결할 수 있습니다->-<resultmap type = "use"id "id"id "id"id "id"id "id"id "id"id "id"id " column = "user_id" /> <result property = "username"column = "user_username" /> <result property = "userage"column = "user_userage" /<result property = "userAddress"column = "user_userAddress" />-> <!-<! <! id = "selectUsersByName"ParameterType = "String"resultMap = "userResultMap"> select * user here.username = #{username} </select>-> <select id = "selectUsersByName"ParameterType = "string"resultType = "user"> select *에서 user inername}! 이는 작동 증가를 수행합니다. ID 및 ParameterType는 iuseroperation 인터페이스에서 AddUser 메소드의 이름 및 매개 변수 유형과 동일합니다. "true"로 설정된 usegeneratedkeys는 mybatis가 데이터베이스에 의해 자동으로 생성 된 기본 키를 얻기를 원한다는 것을 나타냅니다. KeyProperty = "id"는 사용자의 ID 속성에 획득 된 1 차 키 값을 주입합니다 -> <insert id = "addUser"parameterType = "user"usegeneratedKeys = "true"keyProperty = "id"> user in user (username, userage, userAddress) values (#userAname},#{{userAname}) </insert> <update id = "updateUser"ParameterType = "User"> Usude User Set userName =#{userAname}, userage =#{userage}, userAddress =#{userAddress} where id =#{id = "deleteuser"parameter "> version에서 delete id =#{id} </delete> </mapper> 구성 파일은 인터페이스와 SQL 문의 매핑 관계를 구현합니다. selectUsersByName은 두 가지 방법을 사용하여 구현합니다. 댓글은 또한 구현입니다. 결과를 사용하면 속성과 데이터베이스 열 이름 사이의 매핑 관계를 정의 할 수 있습니다. 속성은 클래스의 속성이고 열은 테이블의 열 이름이거나 테이블 열 이름의 별칭 일 수 있습니다!
사용자 클래스 정의 :
package com.mybatis.test; public class user {private int id; private int id; private string username; private int userage; private int userage; private string userAddress; public int getId () {return id;} public void setid (int id) {this.id = id;} public string getUserName () {return username;} public void (string usernam) getUserage () {return userage;} public void setUserage (int userage) {this.userage = userage;} public string getUserAddress () {return userAddress;} public void setUserAddress (string userAddress) {this.userAddress = userAddress}@reveridepublic string (thistring thistring thistring) "+this.userage+" "+this.useraddress;}} iuseroperaton 정의 :
package com.mybatis.test; import java.util.list; public interface iuseroperation {public user selectuserbyid (int id); public list <user> selectusersbyname (String username); public void addUser (사용자); public void updateUser (사용자); public void deleteuser (int id);}; iuserOperation은 MyBatis의 XML 구성 파일의 작동 인터페이스, 함수 이름 및 작동 ID 이름에 해당합니다.
테스트 수업 테스트 :
package com.mybatis.test; import java.io.reader; import java.util.list; import org.apache.ibatis.io.resources; import org.apache.ibatis.session.sqlsession; import org.apache.ibatis.session.sclsession. import org.apache.ibatis.sqlsetication org.apache.ibatis.session.sqlsessionfactorybuilder; public class test {private static sqlsessionfactory sqlsessionfactory; private static reader; static {try {reader = resources.getResourceAsreader ( "configuration.xml"); sqlsessionbortorfactorfactfactfactfactfactfactfactfactfactfact (sqlsessionbuildloder); e) {e.printstacktrace ();}} public static static sqlsessionfactory getsession () {return sqlsessionfactory;} public void getUserByid (int userId) {sqlsession session = sqlsession actory.opensession (); user userOperation = session.getMapper (iuserOperation.getMapper (iuserOperation). userOperation.SelectUserById (userId); if (user! = null) {system.out.println (user.getId () + ":" + user.getUserName () + ":" + user.getUserAddress ())}} 마침내 {session.close ();}} public void getUserList (string userName) sqlsessionFactory.opensession (); try {iuserOperation userOperation = session.getMapper (iuserOperation.class); list <user> user = userOperation.SelectUsersByName (username); for (user : user) {system.out.println () + " +" + " +" + " +" + " +" + " +" + " +" user.getUserAddress ());}} 마침내 {session.close ();}}/*** 추가 후, Commit*/public void AddUser () {user user = new user (); user.setuserAddress ( "place"); user.setusername ( "test_add"); setusessection (30); {iuserOperation userOperation = session.getMapper (iuserOperation.class); userOperation.AdDuser (user); session.commit (); system.out.println ( "add add :" + user.getId ());} 최종적으로 {session.close ();}}/***/public void void void void Be Be Be Commited Be Be Be Be Be Commited Be Be Commited Be Be Problice = sqlsessionCeportory.opensession (); try {iuserOperation userOperation = session.getMapper (iuserOperation.class); user user = userOperation.SelectUserById (1); if (user! = null) {user.setuserAddress ( "new place"); userOperation .upDateUser (user);}}; {session.close ();}}/*** 삭제 후 Commit.** @param id*/public void deleteuser (int id) {sqlsession session = sqlsessionfactory.opensession (); iuseroperation userOperation = session.getMapper (iuserOperation.class); {session.close ();}} public static void main (string [] args) {try {test = new test (); // test.getUserById (1); // test.getUserList ( "test1"); // test.AdDuser (); // test.upDateUser (); // test.deleteuser (6); {system.out.println (e.getMessage ());}}}위의 것은 편집자가 소개 한 추가, 삭제, 수정 및 쿼리 (CRUD)의 MyBatis 구현의 예제 코드입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!