idea中ssm(spring-spring mvc-mybatis)框架搭建

来源:互联网 发布:php getcontents 编辑:程序博客网 时间:2024/06/07 17:49

我的idea是13.1.3

首先点击 File - New Project - 选择maven ,并且在右面选择maven-archtype-webapp选项,如图所示


点击next后,出现填写GroupId和Artifactid,一般GroupId写com.***.项目,Artifactid写你的项目名称


然后点击next


点击next


Project name 项目名称,location项目地址,随后点击finish,如果未创建例如我的E盘csdn文件夹,会提示是否创建,点OK

随后idea进行下载目录结构,如果网络慢的话,可能会等比较长时间。 创建好目录之后提示信息,忽略那条waring...如下图

先看一下项目 目录的结构


现在是一个大的project,我们可以右键csdn项目new 一个Module命名为csdn-front前端模块,在右键new一个Module命名为csdn-service作为数据模块,步骤过程和上面一样,过程略去,(这里面,new的Module也都是maven项目,记得和上述过程一样哦)直接展示new好的目录结构


我这里的csdn-front中的main目录下java目录是自己手动创建的,会发现他是蓝色的,如果刚接触idea不久可能不知道如何创建java目录,还是new  一个文件夹命名为java,然后操作如下图所示


酱紫就是蓝色的java目录了

现在配置pom.文件,打开csdn-front里的pom.xml

<?xml version="1.0" encoding="UTF-8"?><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/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <!--<parent>-->        <!--<artifactId>csdn</artifactId>-->        <!--<groupId>com.wangjianxin.csdn</groupId>-->        <!--<version>1.0-SNAPSHOT</version>-->    <!--</parent>-->    <modelVersion>4.0.0</modelVersion>    <groupId>com.wangjianxin.csdn</groupId>    <artifactId>csdn-front</artifactId>    <packaging>war</packaging>    <name>csdn-fron</name>    <version>1.0-SNAPSHOT</version>    <url>http://maven.apache.org</url>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <spring.version>4.0.5.RELEASE</spring.version>        <commons-lang3.version>3.1</commons-lang3.version>        <commons-codec.version>1.6</commons-codec.version>        <version.shiro>1.2.2</version.shiro>    </properties>    <dependencies>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>3.8.1</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>com.typesafe.akka</groupId>            <artifactId>akka-actor_2.10</artifactId>            <version>2.3.6</version>        </dependency>        <dependency>            <groupId>com.wangjianxin.csdn</groupId>            <artifactId>csdn-service</artifactId>            <version>1.0-SNAPSHOT</version>        </dependency>        <!-- commons-lang3 -->        <dependency>            <groupId>org.apache.commons</groupId>            <artifactId>commons-lang3</artifactId>            <version>3.1</version>        </dependency>        <!-- Apache Shiro: Security. -->        <dependency>            <groupId>org.apache.shiro</groupId>            <artifactId>shiro-core</artifactId>            <version>${version.shiro}</version>        </dependency>        <dependency>            <groupId>org.apache.shiro</groupId>            <artifactId>shiro-web</artifactId>            <version>${version.shiro}</version>        </dependency>        <dependency>            <groupId>org.apache.shiro</groupId>            <artifactId>shiro-spring</artifactId>            <version>${version.shiro}</version>        </dependency>        <dependency>            <groupId>org.apache.shiro</groupId>            <artifactId>shiro-aspectj</artifactId>            <version>${version.shiro}</version>        </dependency>        <dependency>            <groupId>org.apache.shiro</groupId>            <artifactId>shiro-ehcache</artifactId>            <version>${version.shiro}</version>            <exclusions>                <exclusion>                    <artifactId>ehcache-core</artifactId>                    <groupId>net.sf.ehcache</groupId>                </exclusion>            </exclusions>        </dependency>        <!-- httpClient  -->        <dependency>            <groupId>org.apache.httpcomponents</groupId>            <artifactId>httpclient</artifactId>            <version>4.3.3</version>        </dependency>        <dependency>            <groupId>org.apache.httpcomponents</groupId>            <artifactId>httpcore</artifactId>            <version>4.3.1</version>        </dependency>        <dependency>            <groupId>org.apache.httpcomponents</groupId>            <artifactId>httpmime</artifactId>            <version>4.3.2</version>        </dependency>        <!-- @Confugiration依赖包,bean生成相关 -->        <dependency>            <groupId>org.aspectj</groupId>            <artifactId>aspectjweaver</artifactId>            <version>1.6.12</version>        </dependency>        <dependency>            <groupId>cglib</groupId>            <artifactId>cglib-nodep</artifactId>            <version>2.2</version>        </dependency>        <!-- spring -->        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <version>${spring.version}</version>            <exclusions>                <exclusion>                    <groupId>commons-logging</groupId>                    <artifactId>commons-logging</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context-support</artifactId>            <version>${spring.version}</version>        </dependency>        <!-- WEB begin -->        <!-- spring mvc -->        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-webmvc</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>commons-logging</groupId>            <artifactId>commons-logging</artifactId>            <version>1.1.1</version>        </dependency>        <!-- spring mvc end-->        <!-- j2ee web spec-->        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>servlet-api</artifactId>            <version>2.5</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>jstl</artifactId>            <version>1.2</version>        </dependency>        <dependency>            <groupId>org.apache.velocity</groupId>            <artifactId>velocity</artifactId>            <version>1.7</version>        </dependency>        <dependency>            <groupId>opensymphony</groupId>            <artifactId>sitemesh</artifactId>            <version>2.4.2</version>        </dependency>        <!-- kaptcha验证码 -->        <dependency>            <groupId>com.google.code.kaptcha</groupId>            <artifactId>kaptcha</artifactId>            <version>2.3.2</version>        </dependency>        <!-- WEB end -->        <!-- logger -->        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>1.7.5</version>        </dependency>        <!-- json -->        <dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-core-asl</artifactId>            <version>1.9.12</version>        </dependency>        <dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-mapper-asl</artifactId>            <version>1.9.12</version>        </dependency>        <!-- json -->        <dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-core-asl</artifactId>            <version>1.9.12</version>        </dependency>        <dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-mapper-asl</artifactId>            <version>1.9.12</version>        </dependency>        <dependency>            <groupId>com.jolbox</groupId>            <artifactId>bonecp</artifactId>            <version>0.8.0-rc1</version>        </dependency>        <dependency>            <groupId>com.cloudhopper.proxool</groupId>            <artifactId>proxool</artifactId>            <version>0.9.1</version>        </dependency>        <!--<dependency>-->        <!--<groupId>org.aspectj</groupId >-->        <!--<artifactId>aspectjweaver</artifactId >-->        <!--<version>1.8.7</version >-->        <!--</dependency>-->        <!--mybatis-->        <dependency>            <groupId>org.mybatis</groupId>            <artifactId>mybatis</artifactId>            <version>3.1.0</version>        </dependency>        <dependency>            <groupId>org.mybatis</groupId>            <artifactId>mybatis-spring</artifactId>            <version>1.2.2</version>        </dependency>        <!--   httpclient-->        <dependency>            <groupId>HTTPClient</groupId>            <artifactId>HTTPClient</artifactId>            <version>0.3-3</version>        </dependency>        <!-- 读取csv文件-->        <dependency>            <groupId>net.sourceforge.javacsv</groupId>            <artifactId>javacsv</artifactId>            <version>2.0</version>        </dependency>        <!-- fileupload-->        <dependency>            <groupId>commons-fileupload</groupId>            <artifactId>commons-fileupload</artifactId>            <version>1.3.1</version>        </dependency>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.18</version>        </dependency>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.11</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-test</artifactId>            <version>${spring.version}</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>com.google.code.gson</groupId>            <artifactId>gson</artifactId>            <version>2.3</version>        </dependency>        <dependency>            <groupId>com.danga</groupId>            <artifactId>memcached</artifactId>            <version>2.6.6</version>        </dependency>        <!--page-->        <dependency>            <groupId>com.github.miemiedev</groupId>            <artifactId>mybatis-paginator</artifactId>            <version>1.2.15</version>        </dependency>    </dependencies>    <build>        <finalName>csdn-front</finalName>        <resources>            <resource>                <directory>${project.basedir}/src/main/resources</directory>                <filtering>true</filtering>            </resource>        </resources>        <testResources>            <testResource>                <directory>${project.basedir}/src/main/resources</directory>                <filtering>true</filtering>            </testResource>            <testResource>                <directory>${project.basedir}/src/test/resources</directory>                <filtering>true</filtering>            </testResource>        </testResources>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-surefire-plugin</artifactId>                <version>2.9</version>                <configuration>                    <skipTests>true</skipTests>                </configuration>            </plugin>            <!-- jetty服务器 -->            <plugin>                <groupId>org.mortbay.jetty</groupId>                <artifactId>maven-jetty-plugin</artifactId>                <version>6.1.12.rc5</version>                <configuration>                    <scanIntervalSeconds>5</scanIntervalSeconds>                    <connectors>                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">                            <port>8080</port>                            <maxIdleTime>600000</maxIdleTime>                        </connector>                    </connectors>                    <webAppConfig>                        <contextPath>/</contextPath>                    </webAppConfig>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.tomcat.maven</groupId>                <artifactId>tomcat6-maven-plugin</artifactId>                <version>2.2</version>                <configuration>                    <url>http://localhost:8080/manager/html</url>                    <server>tomcat</server>                    <server>tomcat</server>                    <port>8090</port>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <version>2.5.1</version>                <configuration>                    <source>1.6</source>                    <target>1.6</target>                    <encoding>UTF-8</encoding>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-resources-plugin</artifactId>                <version>2.4.1</version>                <configuration>                    <encoding>UTF-8</encoding>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-war-plugin</artifactId>                <version>2.1.1</version>                <configuration>                    <archiveClasses>true</archiveClasses>                    <webResources>                        <resource>                            <directory>${project.build.directory}/classes</directory>                            <targetPath>WEB-INF/classes</targetPath>                            <filtering>false</filtering>                            <includes>                                <include>*.xml</include>                                <include>*.properties</include>                            </includes>                        </resource>                    </webResources>                </configuration>            </plugin>        </plugins>    </build></project>
在配置csdn-service里的pom文件,如下

<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/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">    <!--<parent>-->        <!--<artifactId>csdn</artifactId>-->        <!--<groupId>com.wangjianxin.csdn</groupId>-->        <!--<version>1.0-SNAPSHOT</version>-->    <!--</parent>-->    <modelVersion>4.0.0</modelVersion>    <groupId>com.wangjianxin.csdn</groupId>    <artifactId>csdn-service</artifactId>    <packaging>war</packaging>    <name>csdn-service</name>    <url>http://maven.apache.org</url>    <version>1.0-SNAPSHOT</version>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <spring.version>4.0.5.RELEASE</spring.version>        <commons-lang3.version>3.1</commons-lang3.version>        <commons-codec.version>1.6</commons-codec.version>        <version.shiro>1.2.2</version.shiro>    </properties>    <dependencies>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>3.8.1</version>            <scope>test</scope>        </dependency>        <!-- commons-lang3 -->        <dependency>            <groupId>org.apache.commons</groupId>            <artifactId>commons-lang3</artifactId>            <version>3.1</version>        </dependency>        <!-- httpClient -->        <dependency>            <groupId>org.apache.httpcomponents</groupId>            <artifactId>httpclient</artifactId>            <version>4.2.1</version>        </dependency>        <dependency>            <groupId>org.apache.httpcomponents</groupId>            <artifactId>httpcore</artifactId>            <version>4.2.1</version>        </dependency>        <!-- @Confugiration依赖包,bean生成相关 -->        <dependency>            <groupId>cglib</groupId>            <artifactId>cglib-nodep</artifactId>            <version>2.2</version>        </dependency>        <!-- spring -->        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <version>${spring.version}</version>            <exclusions>                <exclusion>                    <groupId>commons-logging</groupId>                    <artifactId>commons-logging</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-orm</artifactId>            <version>${spring.version}</version>            <type>jar</type>        </dependency>        <dependency>            <groupId>joda-time</groupId>            <artifactId>joda-time</artifactId>            <version>2.3</version>        </dependency>        <!--mybatis-->        <dependency>            <groupId>commons-httpclient</groupId>            <artifactId>HttpClient</artifactId>            <version>3.0.1</version>        </dependency>        <dependency>            <groupId>org.mybatis</groupId>            <artifactId>mybatis</artifactId>            <version>3.2.3</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>org.mybatis</groupId>            <artifactId>mybatis-spring</artifactId>            <version>1.2.2</version>        </dependency>        <dependency>            <groupId>com.github.miemiedev</groupId>            <artifactId>mybatis-paginator</artifactId>            <version>1.2.15</version>        </dependency>        <!-- WEB begin -->        <!-- spring mvc -->        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-webmvc</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>commons-logging</groupId>            <artifactId>commons-logging</artifactId>            <version>1.1.1</version>        </dependency>        <!-- spring mvc end-->        <dependency>            <groupId>com.danga</groupId>            <artifactId>memcached</artifactId>            <version>2.6.6</version>        </dependency>        <!-- j2ee web spec -->        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>servlet-api</artifactId>            <version>2.5</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>jstl</artifactId>            <version>1.2</version>        </dependency>        <!-- logger -->        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>1.7.5</version>        </dependency>        <!-- json -->        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-databind</artifactId>            <version>2.0.0-RC1</version>        </dependency>        <dependency>            <groupId>com.jolbox</groupId>            <artifactId>bonecp</artifactId>            <version>0.8.0-rc1</version>        </dependency>        <dependency>            <groupId>com.google.code.gson</groupId>            <artifactId>gson</artifactId>            <version>2.3</version>        </dependency>        <!--   httpclient-->        <dependency>            <groupId>HTTPClient</groupId>            <artifactId>HTTPClient</artifactId>            <version>0.3-3</version>        </dependency>        <!-- 读取csv文件-->        <dependency>            <groupId>net.sourceforge.javacsv</groupId>            <artifactId>javacsv</artifactId>            <version>2.0</version>        </dependency>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.18</version>        </dependency>        <dependency>            <groupId>commons-dbcp</groupId>            <artifactId>commons-dbcp</artifactId>            <version>1.2.2</version>        </dependency>        <dependency>            <groupId>commons-lang</groupId>            <artifactId>commons-lang</artifactId>            <version>2.5</version>        </dependency>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.11</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-test</artifactId>            <version>${spring.version}</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.apache.commons</groupId>            <artifactId>commons-pool2</artifactId>            <version>2.2</version>        </dependency>        <dependency>            <groupId>javax.mail</groupId>            <artifactId>mail</artifactId>            <version>1.4.7</version>        </dependency>        <dependency>            <groupId>dom4j</groupId>            <artifactId>dom4j</artifactId>            <version>1.6.1</version>        </dependency>        <dependency>            <groupId>net.sf.json-lib</groupId>            <artifactId>json-lib</artifactId>            <version>2.4</version>            <classifier>jdk15</classifier>        </dependency>        <dependency>            <groupId>xom</groupId>            <artifactId>xom</artifactId>            <version>1.2.5</version>        </dependency>        <dependency>            <groupId>org.jdom</groupId>            <artifactId>jdom</artifactId>            <version>1.1</version>        </dependency>    </dependencies>    <build>        <finalName>csdn-service</finalName>    </build></project>
将包都下载到本地maven库之后,开始写配置文件

在csdn-front中的resources里new spring config

命名爲spring-servlet,内容如下

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:mvc="http://www.springframework.org/schema/mvc"       xmlns:aop="http://www.springframework.org/schema/aop"       xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">    <!-- 扫描组件 -->    <context:component-scan base-package="com.wangjianxin.front.controller">    </context:component-scan>    <aop:aspectj-autoproxy proxy-target-class="true"/>    <!-- 视图解释 -->    <!--默认的注解映射的支持-->    <mvc:annotation-driven>        <mvc:message-converters register-defaults="true">            <bean class="org.springframework.http.converter.StringHttpMessageConverter">                <constructor-arg value="UTF-8"/>            </bean>            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">                <property name="objectMapper">                    <bean class="com.github.miemiedev.mybatis.paginator.jackson2.PageListJsonMapper"/>                </property>                <property name="supportedMediaTypes">                    <list>                        <value>text/json;charset=UTF-8</value>                    </list>                </property>            </bean>        </mvc:message-converters>    </mvc:annotation-driven>    <!--设置静态资源handler -->    <mvc:default-servlet-handler/>    <!-- 支持上传文件 -->    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>    <!-- @ResponseBody方法异常处理-->    <bean id="mappingJackson2HttpMessageConverter"          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">        <property name="objectMapper">            <bean class="com.github.miemiedev.mybatis.paginator.jackson2.PageListJsonMapper"/>        </property>    </bean>    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/jsp/"/>        <property name="suffix" value=".jsp"/>    </bean></beans>

隨後整合mybatis,new xml (步驟和上面一樣)命名為 spring-mybatis


<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns="http://www.springframework.org/schema/mvc"             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"             xmlns:beans="http://www.springframework.org/schema/beans"             xmlns:context="http://www.springframework.org/schema/context"             xmlns:tx="http://www.springframework.org/schema/tx"             xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://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.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">    <context:component-scan base-package="com.wangjianxin.service"/>    <context:component-scan base-package="com.google.code.kaptcha"/>    <!--<beans:bean id="ServiceLocator" class="com.wangjianxin.util.ServiceLocator"/>-->    <!--<beans:bean id="Producer" class="com.google.code.kaptcha.Producer" abstract="true"/>-->    <beans:bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <beans:property name="locations">            <beans:list>                <beans:value>classpath:jdbc.properties</beans:value>            </beans:list>        </beans:property>    </beans:bean>    <context:annotation-config/>    <beans:bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">        <beans:property name="driver" value="com.mysql.jdbc.Driver"/>        <beans:property name="driverUrl" value="${jdbcUrl}" />        <beans:property name="user" value="${username}" />        <beans:property name="password" value="${password}" />        <beans:property name="alias" value="Pool_dbname" />        <beans:property name="houseKeepingSleepTime" value="90000" />        <beans:property name="prototypeCount" value="0" />        <beans:property name="maximumConnectionCount" value="50" />        <beans:property name="minimumConnectionCount" value="2" />        <beans:property name="simultaneousBuildThrottle" value="50" />        <beans:property name="maximumConnectionLifetime" value="14400000" />        <beans:property name="houseKeepingTestSql" value="select CURRENT_DATE" />    </beans:bean>    <beans:bean id="sqlSessionFactory"                class="org.mybatis.spring.SqlSessionFactoryBean">        <beans:property name="dataSource" ref="dataSource"/>        <beans:property name="configLocation" value="classpath:mybatis-config.xml"/>        <beans:property name="mapperLocations" value="classpath:/mapping/*.xml"/>        <beans:property name="typeAliasesPackage" value="com.wangjianxin.service.model"/>        <beans:property name="typeAliases" value="org.springframework.util.LinkedCaseInsensitiveMap"/>    </beans:bean>    <beans:bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <beans:property name="basePackage" value="com.wangjianxin.service.dao"/>        <beans:property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>    </beans:bean></beans:beans>
继续新建xml文件 命名为mybatis-config 如下(这个xml里的settings借鉴了网上的一篇文章,,,)

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration        PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"        "http://ibatis.apache.org/dtd/ibatis-3-config.dtd"><configuration>    <settings>        <!--<setting name="cacheEnabled" value="true" />-->        <!--<setting name="lazyLoadingEnabled" value="true" />-->        <!--<setting name="aggressiveLazyLoading" value="true"/>-->        <!-- 这个配置使全局的映射器启用或禁用缓存 -->        <setting name="cacheEnabled" value="true"/>        <!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载 -->        <setting name="lazyLoadingEnabled" value="true"/>        <!-- 当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载 -->        <setting name="aggressiveLazyLoading" value="true"/>        <!-- 允许或不允许多种结果集从一个单独的语句中返回(需要适合的驱动) -->        <setting name="multipleResultSetsEnabled" value="true"/>        <!-- 使用列标签代替列名。不同的驱动在这方便表现不同。参考驱动文档或充分测试两种方法来决定所使用的驱动 -->        <setting name="useColumnLabel" value="true"/>        <!-- 允许JDBC支持生成的键。需要适合的驱动。如果设置为true则这个设置强制生成的键被使用,尽管一些驱动拒绝兼容但仍然有效(比如Derby) -->        <setting name="useGeneratedKeys" value="true"/>        <!-- 指定MyBatis如何自动映射列到字段/属性。PARTIAL只会自动映射简单,没有嵌套的结果。FULL会自动映射任意复杂的结果(嵌套的或其他情况) -->        <setting name="autoMappingBehavior" value="PARTIAL"/>        <!-- 配置默认的执行器。SIMPLE执行器没有什么特别之处。REUSE执行器重用预处理语句。BATCH执行器重用语句和批量更新 -->        <setting name="defaultExecutorType" value="SIMPLE"/>        <!-- 设置超时时间,它决定驱动等待一个数据库响应的时间 -->        <setting name="defaultStatementTimeout" value="25000"/>    </settings>    <plugins>        <plugin interceptor="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">            <property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"/>        </plugin>    </plugins></configuration>
借着配置配置jdbc.properties 如下

type=mysqljdbcUrl=jdbc\:mysql\://localhost\:3306/ssm?autoReconnect\=true&useUnicode\=true&characterEncoding\=UTF-8username=rootpassword=rootbonecp.idleConnectionTestPeriod=60bonecp.idleConnectionTestPeriodInMinutes=5bonecp.idleMaxAgeInMinutes=10bonecp.idleMaxAge=60bonecp.partitionCount=3bonecp.minConnectionsPerPartition=2bonecp.maxConnectionsPerPartition=50bonecp.acquireIncrement=3bonecp.statementsCacheSize=50bonecp.releaseHelperThreads=3bonecp.defaultAutoCommit=true
ssm是我的数据库名字,下面root是账号和密码


最后配置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 xmlns="http://java.sun.com/xml/ns/javaee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"         version="3.0">  <display-name>Archetype Created Web Application</display-name>    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:spring-mybatis.xml</param-value>    </context-param>    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>    <listener>        <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>    </listener>    <listener>        <listener-class>com.github.miemiedev.mybatis.paginator.CleanupMybatisPaginatorListener</listener-class>    </listener>    <filter>        <filter-name>CharacterEncodingFilter</filter-name>        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>        <init-param>            <param-name>encoding</param-name>            <param-value>UTF-8</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>CharacterEncodingFilter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <servlet>        <servlet-name>spring</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath:spring-servlet.xml</param-value>        </init-param>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>spring</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping></web-app>

最后看一下csdn-front里的resources的文件



随后开始创建controller 和service 

创建controller包,new class文件

package com.wangjianxin.front.controller;import com.wangjianxin.service.manager.StudentManager;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import java.util.List;/** * Created by wangjianxin on 2016/10/31. */@Controller@RequestMapping("/ssm")public class CsdnController {    @Autowired    private StudentManager studentManager;    @RequestMapping(value = "/csdn.json",method = RequestMethod.GET)    @ResponseBody    public String csdn(){      List lsit =   studentManager.selectall();        return lsit.toString();    }    @RequestMapping(value = "/csdn.html")    public String html(){        return "csdn";    }}

这样一个简单的controller类就建立了,例如要访问csdn.json这个接口的url就可以写成: /ssm/csdn.json。 可以理解下@RequestMapping这个注解

利用@Autowired引入manager 调用manager接口的方法


随后在csdn-service中建立文件夹和类如图


想必这些类目大家都懂得,dao层中的接口方法名和mapping中的xml映射相对应,

StudentManager:

package com.wangjianxin.service.manager;import com.wangjianxin.service.model.Student;import java.util.List;/** * Created by wangjianxin on 2016/10/26. */public interface StudentManager {    List selectall();}


StudentManagerImpl:

package com.wangjianxin.service.manager.impl;import com.wangjianxin.service.dao.StudentMapper;import com.wangjianxin.service.manager.StudentManager;import com.wangjianxin.service.model.Student;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;/*** Created by wangjianxin on 2016/10/26.*/@Servicepublic class StudentManagerImpl implements StudentManager{    @Autowired    private StudentManager studentManager;    @Override    public List selectall() {        List lsit  = studentManager.selectall();        return lsit;    }}

StudentMapper:

package com.wangjianxin.service.manager;import com.wangjianxin.service.model.Student;import java.util.List;/** * Created by wangjianxin on 2016/10/26. */public interface StudentManager {    List selectall();}

StudentMapping.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="com.wangjianxin.service.dao.StudentMapper" >  <resultMap id="BaseResultMap" type="com.wangjianxin.service.model.Student" >    <id column="id" property="id" jdbcType="INTEGER" />    <result column="name" property="name" jdbcType="VARCHAR" />    <result column="age" property="age" jdbcType="INTEGER" />    <result column="hobby" property="hobby" jdbcType="VARCHAR" />  </resultMap>  <sql id="Base_Column_List" >    id, name, age, hobby  </sql>    <select id="selectall" resultMap="BaseResultMap" parameterType="java.lang.Integer" >        select        <include refid="Base_Column_List" />        from student    </select></mapper>

model懒的写上来了,就那几个属性,在数据库中随便的建的表

在csdn的WEB-INF的jsp文件夹下面建立csdn.jsp文件

<%--  Created by IntelliJ IDEA.  User: wangjianxin  Date: 2016/10/31  Time: 13:58  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title></title>    <script src="/resources/js/jquery-1.10.2.min.js"></script></head><body>    hello csdn 哈哈~<input type="button" onclick="getStudent()" value="获取数据" /><input type="text" id="csdn"/><script>    function getStudent(){        $.ajax({            url:"/ssm/csdn.json",            type:"get",            success:function (data){                $('#csdb').val(data);            }        })    }</script></body></html>
写了个ajax和controller交互。

首先编译项目,cmd 命令切换到csdn项目的目录,mvn install 

随后编译成功后可以在idea中的maven Project选项栏里找到csdn-front里的Plugins-jetty-jetty:run运行。

输入地址localhost:8080/ssm/csdn.html

2 0
原创粉丝点击