veranschaulichen
Dieses Projekt nimmt eine Maven -Struktur an, die hauptsächlich Spring MVC + MyBatis und Controller zeigt, um Daten zu erhalten und Daten im JSON -Format zurückzugeben.
Projektstruktur
Paketabhängigkeiten und Anweisungen
POM -Datei:
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance http://maven.apache.org/maven-v4_0_0.xsd"><Modelversion>4.0.0</modelversion><Groupid> com.hbb0b0.maven01</gro upid> <artifactId> maven01 </artifactid> <packaging> Krieg </packaging> <version> 0.0.1-Snapshot </Version> <name> maven01 Maven webapp </name> <URL> http://maven.apache.org </url> <properties> <!-mybatis Versionsnummer-> <mybatis.version> 3.2.6 </mybatis.version> <!-Log4J Log Dateiverwaltungspaket Version-> <SLF4J.VERSION> 1.7.7 </slf4j.version> <log4j.version> 1.2.17 </log4j.version> </properties> <depeopenzes> <Depopenty> <gruppe> junit </Groupid> <artifactID> junit </artifactid> <ver Ion> 3.8.1 </Version> <Schops> Test </scope> </abhängig> <depung> <gruppe> org.springFramework </Groupid> <artifactID> Spring-Webmvc </artifactId> <version> 4.1.2.Release </Version> </abhängig> <! https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl-> <Dependent> <GroupId> org.codeHehaus.jackson </gruppeId> <artifactID> Jackson-mapper-asl </artifactid> 1.9.2 </Version> </fusion> </rufferce </artifactid> 1.9.2 </fusion> </rufferce </artifactid> 1.9.2 </fusion> </rufferce </artifactid> 1.9.2 </fusion> </rufferce </artifactid> 1.9.2 </fusion> </reptres https://mvnrepository.com/artifact/org.codeehaus.jackson/jackson-core-asl-> <depeopentcy> <gruppe.codehaus.jackson </GroupID> <artifactID> Jackson-Core-asl </artifactid> <version> 1.9.13 </Version> </fusion> </fusion> </fusion> </fusion> </fusion> </rufe https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind-> <Dependent> <gruppe> com.fasterxml.jackson -> <depeencing> <gruppe> org.mybatis </Groupid> <artifactId> mybatis-pring </artifactId> <version> 1.3.0 </Version> </abhängig> <!-MySQL-Datenbankverbindungs JAR importieren Paket-> <De vor Ort> <gruppe> Mysql </GroupID> <artifactId> Mysql-connector-Java </artifactid> <version> 5.1.30 </Version> </abhängig> <!-mybatis orm Framework-> <De vorstellen> <gruppe> org.mybatis </GroupId> <artifactId> mybatis </artifactId> <version> 3.4.1 </Version> </abhängig> <abhängigkeit> <GroupId> org.springFramework </Groupid> <artifactid> Spring-TX </artifactid> <Version> 4.1.2.2 E </version> </abhängig> <depeencing> <gruppe> org.springFramework </GroupId> <artifactId> Spring-Jdbc </artifactid> <version> 4.1.2.
Konfigurationsanweisungen
web.xml
<! DocType web-app public "-// sun microsystems, inc./dtd web Application 2.3 // en" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-App> <dooks-name> Archetype-Webantrag. Mapping-> <servlet> <servlet-name> SpringMVC </Servlet-Name> <Servlet-Class> org.springframework.web.servlet.DispatcherServlet </Servlet-Cla ss> <init-param> <param-name> contextconfigLocation </param-name> <param-value> /web-inf/springMvc-servlet.xml </param-value> </init-param> <!-- <Load-on-Startups> 1 </load-on-startup>-> </servlet> <servlet-mapping> <servlet-name> springmvc </servlet-name> <url-mustern>/</url-pufter> </servlet-mapping> </web-App>
SpringMvc-servlet.xml
<? xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http://www.springframework.org/schema/mvc" xsi: schemalocation http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springFramework.org/schema/mvc http://www.springframe.org/Schema/mvc/Spring- Scannen Sie das Paket und das Subpaket-> <Kontext: Komponenten-scan-Basis-Package = "com.Maven01.*" /> <! maping = "/static/**" location = "/static/"/> <!-Konfigurieren Sie den InternalResourceViewResolver-> <!-Wenn Sie Annotation verwenden, müssen Sie die folgende Einstellung konfigurieren-> <Bean id = "mapingjacksonhttpMessageConverter" class = "org.springframework.http.converter.json.mappingjackson2HttpMessageConverter"> <Property name="supportedMediaTypes"><list><value>application/json;charset=UTF-8</value></list></property></bean><bean><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"id="internalResourceViewResolver"><!-- Präfix-> <Eigenschaft name = "Präfix" value = "/web-inf/view/"/> <!-Suffix-> <Eigenschaft name = "suffix" value = ". Jsp"/> </bean> <!-MySQL-> <!-Einführen externe Datenquellenkonfigurationsinformationen einführen -> <beanclass = "org.springFramework.bean.factory.config.propertyPlaPHAWPORCONFIGURER"> <Eigenschaft name = "Standorte"> <wert> classPath: jdbc.properties </value> </property> </bean> <! id = "dataSource" class = "org.springFramework.jdbc.datasource.driverManagerDataSource"> <Eigenschaft name = "driverClassName" value = "$ {jdbc.driver}" value = "$ {jdbc.username}"> < /property> <!-Spring und MyBatis sind perfekt integriert, und es besteht keine Notwendigkeit einer myBatis-Konfigurations-Mapping-Datei-> <bean id = " value = "classPath: com/maven01/mapper/*. xml"> </property> </bean> <! value = "sqlSessionFactory"> </property> </bean> <!-transaktionsmanager-> <bean id = "txManager" class = "org.springFramework.jdbc.datasource.datasourcetransactionManager"> </property name = "dataSource" red "red" dataSource ".jdbc.propertiesjdbc.driver = com.mysql.jdbc.driverjdbc.url = jdbc: mysql: // localhost: 3306/Mitarbeiter? useUnicode = true & charakteristisches und charakteristisch = utf-8jdbc.username = rootjdbc.password = SQLSA
Konfiguration der MyBatis Mapper -Datei
<? namespace = "com.maven01.dao.iOmployeedao"> <select id = "getAll" resultType = "com.maven01.pojo.EMlyee
DB -Struktur
Dieses Projekt verwendet die MySQL -Beispiel -Mitarbeiterdatenbank und Freunde, die sie benötigen, können sie selbst herunterladen.
http://www3.ntu.edu.sg/home/ehchua/programming/sql/sampledatabases.html
Code Beschreibung
Modell
Paket com.maven01.pojo; public class Angestellte {public int emp_no; public String first_name; public int getemp_no () {return emp_no;} public void setEmp_no (int emp_no) {this.emp_no = emp_no; setfirst_name (String first_name) {this.first_name = first_name;}}Dao
Paket com.maven01.dao; import Java.util.List; import org.springframework.stereotype
Service
Paket com.maven01.service; import java.util.list; import com.maven01.pojo.Amployee; public interface IEMPLICEEDService {publiclist <Wepende> getAll ();}ServiceImpl
Paket com.maven01.service.impl; import java.util.list; import org.springframework.bean.factory.Annotation.autowired; com.maven01.service.*; Import Javax.annotation
Regler
Paket com.maven01.Controller; Import Java.util.ArrayList; Import Java.util.List; Import Javax.annotation org.springframework.web.bind.annotation.requestMethod; import org.springframework.web.bind.annotation.responsekody; import com.maven01.dto. com.maven01.service.iOpoMeeService;@Controller@requestMapping ("/mvc") öffentliche Klasse Democontroller {@ResourcePrivate iEMPLICEEEDService EmployesedService; @RequestMapping (methode = requestMeth.get.get, value = "/GetEMPLEDEELISTER", produziert = "public application@ -application/json"). powerService.getall ();}}Auslaufergebnisse
Der Code dieses Projekts wurde an Git eingereicht und die Download -Adresse lautet https://github.com/hbb0b0/springmybatis.git
Die Fallstricke stießen auf:
MapperscannerConfiger ist so konfiguriert, dass sie nur die DAO -Schicht enthalten. Konfigurieren Sie niemals das gesamte Paket zum Scannen. Andernfalls tritt ein Fehler auf: Keine qualifizierende Bean von Typ [com.Maven01.Service.iAmployeeService] ist definiert: Erwartete Single -Matching -Bohne, fand 2: EmployeesServiceImpl, IEMPLETSERVICE
<!-Spring wird die Klasse unter der DAO-Schnittstelle automatisch finden-> <bean> <Property name = "Basepackage" value = "com.maven01. Qualifikationsbohne vom Typ [com.maven01.service Die DAO -Schnittstelle befindet sich, die Spring wird automatisch die Klasse unter IT gefunden -> <bean> <Eigenschaft name = "Basepackage" value = "com.maven01.dao"/> <Eigenschaft name = "sqlSessionFactoryBeAnname" value = "
Beachten Sie, dass die Übereinstimmung des MyBatis-Pakets niedrigere Versionen von MyBatis-Spring, MyBatis und Spring sind.
java.lang.abstractMethoderror: org.mybatis.spring.transaction.springManagedtransaction.getimeout () l
Zusammenfassen
Das obige ist eine detaillierte Erklärung des Beispiels für die Spring MVC -Kombination von MyBatis Framework, die Ihnen vom Editor vorgestellt wurde. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!