ilustrar
Este projeto adota uma estrutura Maven, que demonstra principalmente MVC + mybatis da primavera, controlador para obter dados e retornar dados no formato JSON.
Estrutura do projeto
Dependências e instruções do pacote
Arquivo POM:
<Projeto xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-inStance" xsi: schimalocation = "http:/mlshemance" xsi: schimalocation = "http:/mlshemance" xsi: schimalocation = "http:/mlshemance" xsi: schimalocation = "http://mls http://maven.apache.org/maven-v4_0_0.xsd"><modelversion>4.0.0</modelversion><GroupId>com.hbb0b0.maven01</gro UPID> <TRARFACTID> MAVEN01 </TROTIFACTID> <batyaging> war </catching> <versão> 0.0.1-snapshot </sipers> <name> MAVEN01 MAVEN WebApp </name> <url> http://maven.apache.org </url> <sperSties> <!-Mybatis Número da versão-> <mybatis.version> 3.2.6 </mybatis.version> <!-Log4j File Management Versão-> <Slf4j.version> 1.7.7 </slf4j.version> <g4j.version> 1.2.17 </log4j.version> </sperties> <pendências> <pendencency> <roupidId> junit </foupid> <stifactId> junit </stifactId> <vers ion> 3.8.1 </siers> <cope> test </cope> </dependency> <pendesency> <puperid> org.springframework </groupiD> <TRARFACTID> spring-webmvc </artifactid> <versão> 4.1.2.release </sipers> </dependence> <!- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl --><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.2</version></dependency><!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-core-asl-> <pendency> <voundid> org.codehaus.jackson </foupid> <sutifactId> Jackson-core-asl </Artifactid> </siperd> 1.9,13 </versão> https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind-> <pendency> <voundid> com.fasterxml.jackson.core </groupid> <stifactId> jackson-databind </artifactid> <ergers> 2./Version> 2./Versu.2.9.3 <//, </grupo> <//GroupId> -> <pendency> <roupidId> org.mybatis </groupId> <TRARFACTID> mybatis-spring </artifactId> <versão> 1.3.0 </versão </dependency> <!-importar mysql database link jar pacote-> <pendency> <puerpid> mysql </groupiD> <TROTIFACTID> mysql-conector-java </artifactId> <versão> 5.1.30 </versão </dependency> <!-mybatis orm Framework-> <Ependency> <puriid> org.mybatis </groupId> <ArtifactId> mybatis </artifactId> <versão> 3.4.1 </versão </dependency> <pendence> <purpId> org.springframework </groupid> <TifactId> Spring. E </sipers> </dependency> <pendency> <puperid> org.springframework </foupiD> <TRARFACTID> Spring-jdbc </ArtifactId> <versão> 4.1.2.Release </sipers> </dependency> </dependências> <bilt> <tuilge> MAVEN01 </finalname>
Instruções de configuração
web.xml
<! DOCTYPE Web-App Public "-// Sun Microsystems, Inc.//dtd Web Application 2.3 // pt" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <lame> Springy Application criou Web Application </Name> <! Mapping-> <Verlet> <Verlet-name> springmvc </servlet-name> <Servlet-class> org.springframework.web.servlet.dispatcherServlet </servlet-cla SS> <INIT-PARAM> <amam-name> contextConfigLocation </param-name> <amam-value> /web-inf/springmvc-servlet.xml </param-value> </irit-param> <!- <Oad-on-startup> 1 </load-on-startup>-> </servlet> <Servlet-Mapping> <Servlet-Name> Springmvc </Servlet-Name> <url-Pattern>/</url-pattern> </servlet-mapping> </brap-App>
springmvc-servlet.xml
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans 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.springframework.org/schema/mvc/spring-mvc-4.1.xsd"><! Anotação Você deve configurar a seguinte configuração-> <MVC: anotação-driven/> <!-Dispatcher Servelet-> <MVC: Recursos Mapping = "/static/**" location = "/static/"/> <!-Configurar o internoResourceViewResolver-> <!-Se você estiver de acordo com a BOTATION YOUU DESENHA ALTO SEMPENHO A seguir, você se segue para que você se segue, se você se segue, se você se segue para que você se segue, se você se segue, se você se segue para que você se segue, se você se segue para que você se segue, se você se segue para que você se segue, se você se segue para que você se segue, se você se segue para que você se segue, se você se segue para que você se segue para que você se segue para que você se segue, se você use a Bolida. id = "mappingjacksonhttpmessageConverter" class = "org.springframework.http.converter.json.mappingjackson2httpmessageConverter"> <propriedade name="supportedMediaTypes"><list><value>application/json;charset=UTF-8</value></list></property></bean><bean><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"id="internalResourceViewResolver"><!-- Prefix--><property name = "prefixo" value = "/web-inf/view/"/> <!-sufixo-> <propriedade name = "sufix" value = ". name = "Localizações"> <Value> ClassPath: JDBC.Properties </value> </Property> </bean> <!-Configurar fonte de dados-> <bean id = "DataSource" class = "org.springframework.jdbc.datasource.drivermanagerDataSource"> value = "$ {jdbc.driver}"> </propriedade> <propriedade name = "url" value = "$ {jdbc.url}"> </property> <propriedade name = "userName" value = "$ {jdbc.username}"> </imobiliário> <!-mybratis são perfeitamente integrados, e não são perfeitamente integrados, e a myptis e a mypTs são integrados, e a spring e mybtis são perfeitamente integrados, e a spring e mybtis são perfeitamente integrados, e a spring e mybtis são perfeitamente integrados, e a spring e mybtis é perfeitamente integrada. id = "sqlSessionFactory"> <propriedade name = "DataSource" ref = "DataSource"/> <!-ScAN automaticamente mapping.xml file-> <names name = "mapperlocations" value = "Classpath: com/maven01/mapper/*xml"> </propriedades> </bean <! -> <Bean> <propriedade name = "BasEpackage" value = "com.maven01.dao"/> <nome da propriedade = "sqlsessionFactoryBeanName" value = "sqlsessionFactory"> </propriedade> </i Bean> <!-Configure Transaction Manager-> <Bean id = "txManager" class = "org.springframework.jdbc.dataSource.dataSourceTransactionManager"> <propriedade name = "DataSource" ref = "DataSource"> </Property> </shean> </ Beans>jdbc.propertiesjdbc.driver = com.mysql.jdbc.driverjdbc.url = jdbc: mysql: // localhost: 3306/funcionários? useunicode = true & caracterenCoding = utf-8jdbc.username = rootjdbc.pass = sqls = sql
Configuração do arquivo Mybatis Mapper
<? xml versão = "1.0" coding = "utf-8"?> <! namespace = "com.maven01.dao.iemployeedao"> <select id = "getall" resulttype = "com.maven01.pojo.employee"> selecione*FromMployeeslimit 1,10 </leclect> </mapper>
Estrutura de banco de dados
Este projeto usa o banco de dados dos funcionários do MySQL Sample e os amigos que precisam podem fazer o download.
http://www3.ntu.edu.sg/home/ehchua/programming/sql/sampledatabases.html
Descrição do código
modelo
pacote com.maven01.pojo; public classe funcionário {public int emp_no; public string primeiro_name; public int getemp_no () {return emp_no;} public void setemp_no (int emp_no) {this.emp_no = eMPREMP_NO;}; setFirst_Name (String First_Name) {this.first_name = First_name;}}Dao
pacote com.maven01.dao; importar java.util.list; importar org.springframework.tereotype.repositor
serviço
pacote com.maven01.service; importar java.util.list; importar com.maven01.pojo.employee; interface pública IemployeeseService {public list <cleame> getall ();}ServiceImpl
pacote com.maven01.service.impl; importar java.util.list; importar org.springframework.beans.factory.annotation.aUtowired; importar org.springframework.teretopy.service; import com.maven01.dao.iememplandeses; com.Maven01.Service.
controlador
pacote com.maven01.controller; importar java.util.ArrayList; importar java.util.list; importar javax.annotation.resource; importar org.springframework.tereotype.controller; import org.springframework.web.bind.anotation.restation.requer; org.springframework.web.bind.annotation.requestmethod; importar org.springframework.web.bind.annotation.Responsebody; importar com.maven01.dto. com.Maven01.service.iemployeeService;@controlador@requestmapping ("/mvc") classe pública Democontroller {@ResourcePrivate iemployeeservice funcionários; {return FrouxioService.getAll ();}}Resultados de execução
O código deste projeto foi enviado ao Git e o endereço de download é https://github.com/hbb0b0/springmybatis.git
As armadilhas encontradas:
O MapperScannerConfigurer está configurado para incluir apenas a camada DAO. Nunca configure o pacote inteiro para digitalizar, caso contrário, ocorrerá um erro: nenhum feijão qualificado do tipo [com.maven01.service.iemployeeseService] é definido: feijão de correspondência única esperada, mas encontrada 2: Funcionários do Funcionário, Iemployervice
<!-A primavera encontrará automaticamente a classe na interface Dao-> <Bean> <propriedades name = "BasEpackage" value = "com.Maven01. of type [com.maven01.service.IEmployeeService] is defined: expected single matching bean but found 2: employeeServiceImpl,IEmployeeServiceat org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1061)<!-- The package name where the DAO A interface está localizada, a primavera encontrará automaticamente a classe sob ela -> <Bean> <propriedade name = "BasEpackage" value = "com.maven01.dao"/> <propriedade name = "sqlsessionFactoryBeanName" value = "SQLSessionFactory"> </sprirting
Observe que a correspondência do pacote mybatis são versões mais baixas de Mybatis-Spring e Mybatis e Spring.
java.lang.abstractMethoderror: org.mybatis.spring.transaction.springmanagedtransaction.getTimeout () l
Resumir
O exposto acima é uma explicação detalhada do exemplo da estrutura Mybatis da Spring MVC Mybatis apresentado a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!