mybatis는 무엇입니까?
MyBatis는 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하는 우수한 지속성 계층 프레임 워크입니다. MyBatis는 거의 모든 JDBC 코드 및 매개 변수의 수동 설정을 제거하고 결과 세트를 검색합니다. MyBatis는 단순한 XML 또는 주석을 사용하여 구성 및 원래 매핑 인터페이스 및 Java의 Pojos (일반 Old Java Objects)를 데이터베이스의 레코드로 사용할 수 있습니다.
mybatis 다운로드 : https://github.com/mybatis/mybatis-3/releases
mybatis 인스턴스
사용자 테이블에서 CRUD 작업 :
사용자 테이블 :
- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 엔진 = innodb auto_increment = 6 기본 charset = utf8;- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 장소 ');`user'값 ( '4', 'lu', '28', 'some place')에 삽입;`user '값 ('5 ','Xiaoxun ','27 ','Nanjing ')에 삽입;SRC 디렉토리에서 myBatis XML 구성 파일 configuration.xml 생성
<? xml version = "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-> typeales> alias = "user"type = "com.mybatis.test.user"/> </typealiases> <환경 defaults = "development"> <환경 ID = "Development"> <transactionManager type = "jdbc"/> <dataSource type = "poxt"> <property name = "driver"value = "com.mysql.jdbc.dr"/>>>. value = "value ="jdbc : mysql : //127.0.0.1 : 3306/mybatis "/> <속성 이름 ="value = "root"/> <property name = "password"vale = "admin"/> </datasource> </환경> </환경> <!-MyBatis 파일, <mybatis 파일에 해당합니다. Resource = "com/mybatis/test/user.xml"/> </mappers> </configuration>
사용자 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 * select *에서 user.username = #{username} </select>-> <select id = "selectUsersByName"ParameterType = "string"resultType = "user"> select *에서 user user.username =! 작동 증가. 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 Usuder Set userName =#{userAname}, userAge = {userAge}, userAddress =#{userAddress} where id =#{id} </update </update> {deleteuser "}> us id id"> delete from id id} </맵퍼>구성 파일은 인터페이스와 SQL 문의 매핑 관계를 구현합니다. selectUsersByName은 두 가지 방법을 사용하여 구현합니다. 댓글은 또한 구현입니다. 결과를 사용하면 속성과 데이터베이스 열 이름 사이의 매핑 관계를 정의 할 수 있습니다. 속성은 클래스의 속성이고 열은 테이블의 열 이름이거나 테이블 열 이름의 별칭 일 수 있습니다!
사용자 클래스 정의 :
package com.mybatis.test; public class user {private int id; 개인 문자열 사용자 이름; 개인 int userage; 개인 문자열 userAddress; public int getid () {return id; } public void setid (int id) {this.id = id; } public String getUserName () {return username; } public void setusername (String username) {this.username = username; } public int getUserage () {return userage; } public void setUserage (int userage) {this.userage = userage; } public String getUserAddress () {return userAddress; } public void setUserAddress (String userAddress) {this.userAddress = userAddress; } @override public string toString () {return this.username+""+this.userage+""+this.userAddress; }}iuseroperaton 정의 :
package com.mybatis.test; import java.util.list; public interface iuseroperation {public user selectUserByid (int id); 공개 목록 <user> selectUsersByName (String username); Public Void AddUser (사용자); Public Void UpdateUser (사용자); 공개 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; 개인 정적 독자 독자; static {try {reader = resources.getResourceAsReader ( "configuration.xml"); sqlsessionFactory = new SqlSessionFactoryBuilder (). 빌드 (Reader); } catch (예외 e) {e.printstacktrace (); }} public static sqlsessionfactory getsession () {return sqlsessionFactory; } public void getUserById (int userId) {sqlsession session = sqlsessionfactory.opensession (); {iuseroperation userOperation = session .getMapper (iuseroperation.class); 사용자 user = userOperation.SelectUserById (userId); if (user! = null) {system.out.println (user.getId () + ":" + user.getUername () + ":" + user.getUserAddress ()); }} 마침내 {session.close (); }} public void getUserList (String username) {sqlsession session = sqlsessionfactory.opensession (); {iuseroperation userOperation = session .getMapper (iuseroperation.class); List <user> user = userOperation.SelectUsersByName (username); for (user user : user) {system.out.println (user.getId () + ":" + user.getusername () + ":" + user.getUserAddress ()); }} 마침내 {session.close (); }} / ** * 추가 후 커밋 * / public void addUser () {user user = new user (); user.setuserAddress ( "장소"); user.setusername ( "test_add"); user.setuserage (30); sqlsession session = sqlsessionfactory.opensession (); {iuseroperation userOperation = session .getMapper (iuseroperation.class); userOperation.adduser (사용자); 세션 .commit (); System.out.println ( "사용자 ID 추가 :" + user.getId ()); } 마침내 {session.close (); }} / ** * commit * / public void updateUser () {sqlsession session = sqlsessionFactory.OpenSession (); {iuseroperation userOperation = session .getMapper (iuseroperation.class); 사용자 user = userOperation.selectuserByid (1); if (user! = null) {user.setuserAddress ( "새 장소"); UserOperation.updateuser (사용자); 세션 .commit (); }} 마침내 {session.close (); }} /*** 삭제 후 커밋. * * @param id */ public void deleteuser (int id) {sqlsession session = sqlsessionfactory.opensession (); {iuseroperation userOperation = session .getMapper (iuseroperation.class); userOperation.DeleteUser (ID); 세션 .commit (); } 마침내 {session.close (); }} public static void main (String [] args) {try {test test = new test (); // test.getUserByid (1); // test.getUserList ( "test1"); // test.adduser (); // test.upDateUser (); // test.deleteuser (6); } catch (예외 e) {system.out.println (e.getMessage ()); }}} 코드 다운로드 : MybaitsSimpleDemo_jb51.rar
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.