나는 한동안 새로운 것을 배우지 못했습니다. 10 월 1 일 이후, 나는 일찍 일을할수록 더 좋다고 생각합니다. 나는 넌센스를 많이 말하지 않을 것입니다. mybatis를 사용하여 MySQL 데이터베이스에 연결하는 것에 대해 이야기합시다. 이전 기사에서는 JDBC 테스트를 작성했으며 데이터베이스 테이블은 여전히 동일합니다. 온라인에서 검색 한 대부분의 정보는 Eclipse이므로 IDE에 익숙하기 때문에 많은 문제가있었습니다.
엔지니어링 구조를 살펴보십시오
Java Code에 대해 먼저 이야기하겠습니다. DAO는 쿼리 인터페이스이며 모델은 Ben의 XML 및 해당 쿼리 문입니다. 나는 이것이 조금 나쁘다고 생각한다. user.xml은 dao에서 더 좋습니다. 당신은 그것을 이해 한 후에 알게 될 것입니다. 나는 초보자이기 때문에 많은 것을 많이 이해하지 못합니다. 패키지의 합리적인 정의는 나중에 제공됩니다.
나는 그것을 위해 시험을 사용했다
리소스에 대해 이야기 해 봅시다. 구성 파일은 구성 파일이고 Log4J는 로그 인쇄이며 다른 사람들은 당분간 사용할 수 없습니다.
코드를 살펴 보겠습니다. 파일 생성 순서대로 귀하에게 제공하겠습니다.
먼저, 데이터베이스에 따라 구축 된 객체가 있어야합니다.
user.java
package com.fanyafeng.model; import java.util.date;/*** 저자 : fanyafeng* 데이터 : 16/10/11 14 : 56* 이메일 : fanyafeng@11 14 : 56* 이메일 : [email protected]*/public class user {private int id; private string; private strem; private string address; public ind id; id;} public string getUserName () {return username;} public void setUserName (String username = username = username;} public date getBirthday () {return birthday;} public void setBirthday (날짜) {this.birthday = 생일;} 공개 sex (string sex)}}}}} {this.sex = sex;} public string getAddress () {return address;} public void setAddress (문자열 주소) {this.address = address;}}@atriadepublic string toString () {return "user {" + "id =" + id + ", username = '" + username +' + ", sex +" '', sex + " '', + ", 주소 = '" + 주소 +'/'' + '}';}}
iuserdao.java
pack void add (); public void del (int id); public void alter (int id);}
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 "> 네임 스페이스 = "com.fanyafeng.dao.iuserdao"> <select id = "selectUserById"parameterType = "int"resultType = "com.fanyafeng.model.user"> select * id = #{id} </select> <!-'%$ {value}'는 sql styling의 Styling이 의미합니다. 주입-> <select id = "QueryUserByname"QueryUserByname = "string"resulttype = "com.fanyafeng.model.user"> select * #{name} </select> <!-사용자에서 사용자 이름, username, sex, address) value (null, "chen xiaoran" parametertype = "com.fanyafeng.model.user"> user (id, username, birthday, sex, address) 값 (#{id},#{username},#{생일},#{섹스},#{wasse}) </insert> </mapper>에 삽입합니다usertest.java
package com.fanyafeng.test; import com.fanyafeng.model.user; import org.apache.ibatis.io.resources; import org.apache.ibatis.session.sqlsession; import org.apache.ibatis.session.sqlsession actactory; import org.apache.ibatis.sqlsessions org.apache.ibatis.session.sqlsessionfactorybuilder; import java.io.ioexception; import java.io.reader; import java.util.date; import java.util.list;/*** 저자 : fanyafeng* data : 16/10/11 14 : 58* 이메일 : [email protected]*/public classetat. sqlsessionFactory sqlsessionFactory; private static reader reader; static {try {reader = resource.getResourceAsreader ( "configuration.xml"); sqlsessionFactory = new SqlSessionFactoryBuilder (). 빌드 (reader);} {e.printstacktrace ();}}; args) {sqlsession sqlsession = sqlsessionfactory.opensession (); try {// user user = (user) sqlsession.selectone ( "com.fanyafeng.dao.iuserdao.selectuserbyid", 2); // system.out.println (user.getAddress () + user.getsex () user.getbirthday ()); // system.out.println (user.getid () + user.getusername ()); //// list <user> userList = sqlSession.SelectList ( "com.fanyafeng.dao.iuserdao.queryUserByname", "%li ning%"); for (int i = 0; i <userList.size (); i ++) {system.out.println (userList.get (i));} user user = new user (); user.setid (100); user.setbirthday (new date ()); user.setusernam ( "li ning"); squat "); int isadd = sqlsession.insert ("com.fanyafeng.dao.iuserdao.add ", user); sqlsession.commit (); // 잊지 마세요} 마침내 {sqlsession.close ();}}}
configuration.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"> <! 여기-> <!-<faintealias alias = "user"type = "com.fanyafeng.model.user"/>-> <!-</intailiases>-> <!-</inflealiases>-> <!-스프링과의 통합 후 환경 구성이 폐지 될 것입니다-> <Environments Defaults = "Development"> <개발 "> <개발"> JD BC 사용-jdbc type = "jdbc"/> <!-데이터베이스 연결 풀-> <dataSource type = "pooled"> <속성 이름 = "driver"value = "com.mysql.jdbc.driver"/> <property name = "url"value = "jdbc : mysql : // localhost : 3306/mybatis? 값 = "root"/> <속성 이름 = "비밀번호"value = ""// </dataSource> </환경> </환경> <mappers> <Mapper Resource = "com/fanyafeng/model/user.xml"// </mappers> </configuration>
Log4J의 경우 취미에 따라 추가하십시오. 코드의 댓글은 자세히 작성되므로 자세한 내용은 설명하지 않습니다. 여기에 내가 매우 좌절감을 느끼게하는 곳이 있습니다. 나는 위대한 주인에게 무슨 일이 있었는지 알도록 요청했습니다. 스크린 샷에는 대상 디렉토리가 있습니다. 이것은 컴파일 된 파일의 저장 위치입니다. 그러나 문제는 Java 파일이 어디에서 컴파일되고 배치 될 것인가입니다. 그러나 비 재료 XML 파일은 제출되지 않았으며 예외가 발생했습니다. 많은 정보를 확인하고 질문에 답했습니다. 그런 다음 이렇게 해결하고 pom.xml 파일을 보았습니다. 변경 한 후 빌드 태그를 추가했습니다.
<project xmlns = "http://maven.apache.org/pom/4.0.0"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance"xsi : schemalocation = "http://maven.apache.org/pom/0.0.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <modelversion> 4.0.0 </modelversion> <groupid> com.fanyafeng </groupid> < artifactid> mybatisdemo </artifactid> <parkaging> war </packaging> <bersion> 1.0-snapshot </version> <name> mybatisdemo Maven WebApp </name> <url> http://maven.apache.org </url> <빌드> <FinalName> MyBatisDemo </finalName> <Resource> <bersore> <drectory> src/mai n/resource </directory> <clender> <clender> **/*. XML </include> <clander> **/*. 속성 </include> </include> </resource> <Resource> < directory> src/main/java </directory> </directory> <cluticat> include> **/*. xml </include> </include> </resource> </resources> </build> <pectionency> <prectionency> <groupId> junit </groupId> <ArifactID> junit> </inpectiCID> 3.8.1 </version> </scope> </version> https://mvnrepository.com/artifact/mysql/mysql-connector-java-> <groupid> mysql </groupid> <artifactid> mysql-connector-java </artifactid> <bersion> 5.1.38 </version> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-> <pectionency> <groupid> org.mybatis </groupid> <artifactid> mybatis </artifactid> <bersion> 3.2.8 </version> </dependency> <!- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12-> <prection> <groupid> org.slf4j </groupid> <artifactid> slf4j-log4j12 </artifactid> <bersion> 1.7.21 </version> <! https://mvnrepository.com/artifact/org.slf4j/slf4j-api-> <groupid> org.slf4j </groupid> <artifactid> slf4j-api </artifactid> <bers> 1.7.21 </version> <!-- https://mvnrepository.com/artifact/log4j/log4j-> <pectomency> <groupid> log4j </groupid> <artifactid> log4j </artifactid> <버전> 1.2.17 </version> </fectionency> <!- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core-> <pectionency> <groupid> org.apache.logging.log4j </groupid> <artifactid> log4j-core </artifactid> version> 2.5 </delavency> <! https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api-> <pectionement> <groupid> org.apache.logging.log4j </groupid> <artifactid> log4j-api </artifactid> 2.5 </version> </dependency> <! https://mvnrepository.com/artifact/org.javassist/javassist-> <pectionency> <groupid> org.javassist </groupid> <tritifactid> javassist </artifactid> <bersion> 3.18.1-ga </version> </fectionency> <!- https://mvnrepository.com/artifact/commons-logging/commons-logging-> <pectionement> <groupid> Commons-logging </groupid> <artifactid> commons-logging </artifactid> <version> 1.1.1 </version> </dependency> <!-https:/mvnreatory.com/artifact/cgr -> <pectionency> <groupId> cglib </groupId> <artifactid> cglib </artifactid> <bersion> 2.2.2 </version> </fectionency> <!-https://mvnrepository.com/artifact/asm/asm -> <pectionency> <groupId> ASM </groupId> <artifactID> ASM </artifactid> <3.3.1 </version> </fectionency> </fectionemencies> </project>
이것은 충분합니다. 여기서 검색과 추가를 구현했으며 다른 것들이 연구되고 있습니다.
위는 편집기가 소개 한 MySQL 데이터베이스에 대한 Intellij Mybatis 연결입니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!