لم أتعلم أشياء جديدة لفترة من الوقت. بعد الأول من أكتوبر ، أشعر أنه كلما أفعل الأشياء في وقت مبكر ، كان ذلك أفضل. لن أقول الكثير من الهراء. دعنا نتحدث عن استخدام MyBatis للاتصال بقاعدة بيانات MySQL. في المقالة السابقة ، كتبت اختبارات JDBC ، ولا تزال جداول قاعدة البيانات الخاصة بي هي نفسها. نظرًا لأن معظم المعلومات التي بحثت عنها عبر الإنترنت هي Eclipse ، لأنني اعتدت على IDES ، جئت إلى هنا مع الكثير من المشاكل.
ألق نظرة على الهيكل الهندسي
اسمحوا لي أن أتحدث عن كود جافا أولاً. DAO هي واجهة الاستعلام ، النموذج هو XML من BEN وبيان الاستعلام المقابل. أشعر أن هذا سيء بعض الشيء. user.xml أفضل في DAO. ستعرف بعد أن تفهمها. بما أنني مبتدئ ، فأنا لا أفهم الكثير من الأشياء. سيتم تقديم تعريف معقول للحزمة لاحقًا.
لقد استخدمت الاختبار لذلك
دعنا نتحدث عن الموارد ، والتكوين هو ملف تكوين ، و log4j هو طباعة السجل ، ولا يمكن استخدام الآخرين في الوقت الحالي.
دعنا نلقي نظرة على الكود ، سأعطيه لك بترتيب إنشاء الملفات.
أولاً ، يجب أن يكون هناك كائن ، تم تصميمه وفقًا لقاعدة البيانات
user.java
package com.fanyafeng.model ؛ import java.util.date ؛/*** المؤلف: fanyafeng* البيانات: 16/10/11 14: 56* البريد الإلكتروني: [email protected]*/public class user {private int id ؛ ID ؛} السلسلة العامة getUsername () {return username ؛} public void setUsername (string username) {this.username = username ؛} التاريخ العام getBirthday () {return birthday ؛} public void setbirthday (Date Birthday) {this.birthday = Birthday ؛ {this.sex = sex ؛} السلسلة العامة getAddress () {return address ؛} public void setAddress (عنوان السلسلة) {this.address = address ؛}@Overridepublic String ToString () {return "user {" + "id =" + id + "، username = '" + username +'/' + "، address =" " + address + '/' ' +'} '؛}}
iuserdao.java
package com.fanyafeng.dao ؛ استيراد com.fanyafeng.model.user ؛ استيراد java.util.list ؛/*** المؤلف: fanyafeng* البيانات: 16/10/11 14: 55* البريد الإلكتروني: fanyafeng@live add () ؛ public void del (int id) ؛ public void Alter (int id) ؛}
user.xml
<؟ مسافة name.fanyafeng.dao.iuserdao "> <select id =" selecterById "parametertype =" int "resulttype =" com.fanyafeng.model.user " Injection-> <select id = "queryUserByName" parametertype = "string" resultType = "com.fanyafeng.model.user"> حدد * من المستخدم حيث اسم المستخدم مثل #{name} </select> <!-insert في user (id ، username ، sex ، addrate) قيمة "chen xiaoran" ، " parametertype = "com.fanyafeng.model.user"> إدراج في المستخدم (معرف ، اسم المستخدم ، عيد ميلاد ، الجنس ، العنوان) القيم (#{id} ،#{username} ،#{عيد ميلاد} ،#{sex} ،#{address}) </insert> </mapper>Usertest.java
package com.fanyafeng.test ؛ استيراد com.fanyafeng.model.user ؛ استيراد org.apache.ibatis.io.resources ؛ استيراد org.apache.ibatis.session.sqlsession org.apache.ibatis.session.sqlsessionfactorybuilder ؛ استيراد java.io.ioException ؛ استيراد java.io.reader ؛ استيراد java.util.date ؛ استيراد java.util.list ؛/*** المؤلف: fanyafeng* البيانات: 16/10/11 14: 58* sqlsessionfactory sqlsessionfactory ؛ قارئ القارئ الثابت الخاص ؛ ثابت {try {reader = resources.getResourCeasReader ("configuration.xml") ؛ sqlsessionfactory = new sqlsessionfactorybuilder (). build (reader) ؛ Main (String [] args) {sqlsession sqlsession = sqlsessionfactory.opensession () ؛ حاول {// user user = (user) sqlsession.selectone ("com.fanyafeng.dao.iuserdao.selectuserbyid" ، 2) ؛ user.getBirthDay ()) ؛ // system.out.println (user.getID () + user.getUserName ()) ؛ /// list <serve> userlist = sqlsession.selectlist ("com.fanyafeng.dao.iuserdao.queryuserbyname" ، "٪ li ning ٪") ؛ لـ (int i = 0 ؛ i <userlist.size () ؛ i ++) {system.out.println (userList.get (i) .toString ()) ؛} المستخدم = مستخدم جديد () القرفصاء ") ؛ int isadd = sqlsession.insert (" com.fanyafeng.dao.iuserdao.add "، user) ؛ sqlsession.commit () ؛ // لا تنسى} أخيرًا {sqlsession.close () ؛}}}}configuration.xml
<؟ هنا-> <!-<typealias alias = "user" type = "com.fanyafeng.model.user"/>-> <!-</typealiases>-> <!-</typealiases>-> <!-بيئات التكوين بعد التكامل مع الربيع سوف يتم إلغاء-> <البيئات " type = "jdbc"/> <!-تجمع اتصال قاعدة البيانات-> <dataSource type = "proted"> <property name = "driver" value = "com.mysql.jdbc.driver"/> <property name = "url" value = "jdbc: mysql: // localhost: 3306/mybatis؟ value = "root"/> <property name = "password" value = "" // </dataSource> </evely> </eversionments> <mappers> <mapper resource = "com/fanyafeng/model/user.xml" // </mappers> </ispification>
لـ Log4J ، يرجى إضافته وفقًا لهواياتك. تتم كتابة التعليقات في الكود بالتفصيل ، لذلك لن أخوض في التفاصيل. هناك مكان هنا يجعلني أشعر بالإحباط الشديد. سألت سيدًا رائعًا لمعرفة ما حدث. هناك دليل مستهدف في لقطة الشاشة. هذا هو موقع التخزين للملفات المترجمة. ومع ذلك ، فإن السؤال هو ، أين سيتم تجميع ملف Java ووضعه. ومع ذلك ، لم يتم وضع ملف XML غير الموارد ، وتم طرح استثناء. راجعت الكثير من المعلومات وأجبت على السؤال. ثم قمت بحلها هكذا ونظرت إلى ملف pom.xml. بعد أن قمت بتغييره ، أضفت علامة الإنشاء.
<project xmlns = "http://maven.apache.org/pom/4.0.0" http://maven.apache.org/maven-v4_0_0.xsd "> <DodelVersion> 4.0.0 </modelversion> <roupiD> com.fanyafeng </groupid> < ArtifactId> mybatisdemo </stifactid> <cplaging> WAR </packaging> <splection> 1.0-SNAPSHOT </sophy> <ame> myBatisDemo مافن WebApp </mame> <Url> http://maven.apache.org </url> <buyname> mybatisdemo </initalname> <sroffice> <sroductory> src/mai N/Resources </directory> <swern> <supture> **/* الدليل> src/main/java </directory> <scke> <sudge> **/*. https://mvnrepository.com/artifact/mysql/mysql-connector-java-> <reperency> <roupend> mysql </rougeid> </splistid> mysql-connector-java </stifactid> <sored> https://mvnrepository.com/artifact/org.mybatis/mybatis-> <reperency> <roupeD> org.mybatis </rougeid> <StifactId> mybatis </stifactId> <splement> https://mvnrepository.com/artifact/org.slf4j/slf4jj12-> reparendency> <roupend> org.slf4j </groupid> </!- https://mvnrepository.com/artifact/org.slf4j/slf4j-api-> <reperence> <rouplencid> org.slf4j </groupId> <StifactId> slf4j-api </stifactid> <sored> </version> </reperency https://mvnrepository.com/artifact/log4j/log4j-> <reperency> <roupiD> log4j </groupId> <StifactId> log4j </srofactid> <sored> 1.2.17 </version> </dependency> <!-!- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core-> <Rependency> <roupeD> org.apache.logging.log4j </rougeid> <StifactId> log4j-core </artifactid> https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api-> <redence> <roupeid> org.apache.logging.log4j </rougiD> <StifactId> log4j-api </artifactid> https://mvnrepository.com/artifact/org.javassist/javassist-> <reperence> <roupeD> org.javassist </groupId> <StifactId> javassist </intifactid> <sersion> 3.18.1-Ga </apples> </dependency> <! https://mvnrepository.com/artifact/commons-logging/Commons-Logging-> <sependency> <roupiD> commons-logging </rougeid> <StifactId> commons-logging </shanglibsid> <splement> 1.1.1 </sperence> </https://mvnreposity -> <reperency> <roupiD> cglib </rougiD> <StifactId> cglib </shintifactid> <الإصدار> 2.2.2 </version> </sependency> <!-https://mvnrepository.com/artifact/asm/asm/asm -> <reperency> <roupled> ASM </rougled> <StifactId> ASM </stifactid> <الإصدار> 3.3.1 </version> </sependency> </sependencies> </project>
هذا يكفي ، لقد قمت بتطبيق البحث والإضافة هنا ، ويتم دراسة أشياء أخرى.
ما سبق هو اتصال intellij mybatis بقاعدة بيانات MySQL التي قدمها المحرر. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!