前言

      說起整合自然離不開ssm,我本身并不太喜歡ORM,尤其是MyBatis,把SQL語句寫在xml里,尤其是大SQL,可讀性不高,出錯也不容易排查。

 

開發(fā)環(huán)境

      idea2016、SpringMVC4、Mybatis3

 

項目結(jié)構(gòu)

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 

SSM整合

1、pom.xml

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3   <modelVersion>4.0.0</modelVersion> 4   <groupId>com.autohome</groupId> 5   <artifactId>SpringMVC3</artifactId> 6   <packaging>war</packaging> 7   <version>1.0-SNAPSHOT</version> 8   <name>SpringMVC3</name> 9   <url>http://maven.apache.org</url>10   <dependencies>11     <dependency>12       <groupId>junit</groupId>13       <artifactId>junit</artifactId>14       <version>4.10</version>15     </dependency>16     <dependency>17       <groupId>org.springframework</groupId>18       <artifactId>spring-core</artifactId>19       <version>4.3.6.RELEASE</version>20     </dependency>21     <dependency>22       <groupId>org.springframework</groupId>23       <artifactId>spring-beans</artifactId>24       <version>4.3.6.RELEASE</version>25     </dependency>26     <dependency>27       <groupId>org.springframework</groupId>28       <artifactId>spring-context</artifactId>29       <version>4.3.6.RELEASE</version>30     </dependency>31     <dependency>32       <groupId>org.springframework</groupId>33       <artifactId>spring-web</artifactId>34       <version>4.3.6.RELEASE</version>35     </dependency>36     <dependency>37       <groupId>org.springframework</groupId>38       <artifactId>spring-context-support</artifactId>39       <version>4.3.6.RELEASE</version>40     </dependency>41     <dependency>42       <groupId>org.springframework</groupId>43       <artifactId>spring-webmvc</artifactId>44       <version>4.3.6.RELEASE</version>45     </dependency>46     <dependency>47       <groupId>org.springframework</groupId>48       <artifactId>spring-jdbc</artifactId>49       <version>4.3.6.RELEASE</version>50     </dependency>51     <dependency>52       <groupId>org.apache.velocity</groupId>53       <artifactId>velocity</artifactId>54       <version>1.6.2</version>55     </dependency>56     <dependency>57       <groupId>org.apache.velocity</groupId>58       <artifactId>velocity-tools</artifactId>59       <version>2.0</version>60     </dependency>61     <dependency>62       <groupId>org.mybatis</groupId>63       <artifactId>mybatis</artifactId>64       <version>3.4.2</version>65     </dependency>66     <dependency>67       <groupId>org.mybatis</groupId>68       <artifactId>mybatis-spring</artifactId>69       <version>1.3.0</version>70     </dependency>71     <dependency>72       <groupId>com.microsoft.sqlserver</groupId>73       <artifactId>sqljdbc4</artifactId>74       <version>4.0</version>75     </dependency>76     <dependency>77       <groupId>commons-dbcp</groupId>78       <artifactId>commons-dbcp</artifactId>79       <version>1.4</version>80     </dependency>81   </dependencies>82   <build>83     <finalName>SpringMVC3</finalName>84   </build>85 </project>

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 

2、web.xml

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 1 <!DOCTYPE web-app PUBLIC 2  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 3  "http://java.sun.com/dtd/web-app_2_3.dtd" > 4  5 <web-app> 6   <display-name>Archetype Created Web Application</display-name> 7   <!--告知javaEE容器,有那些內(nèi)容需要添加到上下文里去--> 8   <context-param> 9     <param-name>contextConfigLocation</param-name>10     <param-value>classpath:applicationContext.xml</param-value>11   </context-param>12   <listener>13     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>14   </listener>15   <!--spring 前端控制器-->16   <servlet>17     <servlet-name>SpringMVC</servlet-name>18     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>19     <init-param>20       <param-name>contextConfigLocation</param-name>21       <param-value>classpath:springmvc-servlet.xml</param-value>22     </init-param>23   </servlet>24   <servlet-mapping>25     <servlet-name>SpringMVC</servlet-name>26     <url-pattern>/</url-pattern>27   </servlet-mapping>28 </web-app>

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

3、applicationContext.xml無配置內(nèi)容所以忽略

4、springmvc-servlet.xml

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4        xmlns:mvc="http://www.springframework.org/schema/mvc" 5        xmlns:context="http://www.springframework.org/schema/context" 6        xsi:schemaLocation="http://www.springframework.org/schema/beans 7        http://www.springframework.org/schema/beans/spring-beans.xsd 8        http://www.springframework.org/schema/context 9        http://www.springframework.org/schema/context/spring-context.xsd10        http://www.springframework.org/schema/mvc11        http://www.springframework.org/schema/mvc/spring-mvc.xsd12 ">13 14     <!--從配置文件加載數(shù)據(jù)庫信息-->15     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">16         <property name="locations" value="classpath:config/jdbc.properties"/>17         <property name="fileEncoding" value="UTF-8"/>18     </bean>19 20     <!--配置數(shù)據(jù)源,這里使用Spring默認-->21     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">22         <property name="driverClassName" value="${sqlserver.driver}"/>23         <property name="url" value="${sqlserver.url}"/>24         <property name="username" value="${sqlserver.username}"/>25         <property name="password" value="${sqlserver.password}"/>26     </bean>27 28     <!--掃描Mapper-->29     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">30         <property name="basePackage" value="com.autohome.mapper"/>31 32     </bean>33 34     <!--配置sqlSessionFactory-->35     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">36         <property name="configLocation" value="classpath:springmvc-mybatis.xml"/>37         <property name="dataSource" ref="dataSource"/>38     </bean>39 40     <!--啟用最新的注解器、映射器-->41     <mvc:annotation-driven/>42 43     <!--掃描Controller注解類-->44     <context:component-scan base-package="com.autohome.controller" />45     <!--掃描Service注解類-->46     <context:component-scan base-package="com.autohome.service"/>47 48     <!--配置視圖解析器-->49     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">50         <property name="prefix" value="/WEB-INF/views/"/>51         <property name="suffix" value=".jsp"/>52     </bean>53 54 </beans>

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

5、springmvc-mybatis.xml

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 3         "http://mybatis.org/dtd/mybatis-3-config.dtd"> 4 <configuration> 5  6     <!-- 實體類,簡稱 -設(shè)置別名 --> 7     <typeAliases> 8         <typeAlias alias="User" type="com.autohome.model.User" /> 9     </typeAliases>10 11 12     <mappers>13         <mapper resource="mapper/UserMapper.xml" />14     </mappers>15 16 </configuration>

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

6、dao接口層、mapper(dao接口實現(xiàn)層)、Biz層、 model層忽略不計(id,name,address3個測試字段)。 mapper文件讓我踩了坑,后恍然大悟,mapper.xml要放在resources包下。

1
2
3
4
5
6
7
8
9
10
public interface UserMapper {
    List<User> listAllUser();
    List<User> listPagedUser(@Param("pageIndex"int pageIndex,@Param("pageSize"int pageSize);
    int count();
    int updateUser(User user);
    int deleteUser(int id);
    int insertUser(User user);
    User getUserById(int id);
 
}

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 3         "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 4 <!--命名空間和接口保持一致--> 5 <mapper namespace="com.autohome.mapper.UserMapper"> 6     <select id="listAllUser" resultType="User"> 7         select * from t_userinfo 8     </select> 9 10     <select id="listPagedUser"   resultType="User">11         select top ${pageSize} * from t_userinfo where id not in (select top (${pageSize} * (${pageIndex} -1)) id from t_userinfo)12     </select>13 14     <select id="count" resultType="int">15         select count(*) from t_userinfo16     </select>17 18     <insert id="insertUser" parameterType="User">19         insert into t_userinfo VALUES (#{name},#{address})20     </insert>21 22     <update id="updateUser" parameterType="User">23         UPDATE  t_userinfo set name=#{name},address=#{address} where id=#{id}24     </update>25 26     <delete id="deleteUser" parameterType="int">27         DELETE FROM t_userinfo where id=#{id}28     </delete>29 30     <select id="getUserById" resultType="User" parameterType="int">31         select * from t_userinfo where id=#{id}32     </select>33 34 </mapper>

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

+ View Code



參考

http://www.cnblogs.com/hellokitty1/p/5230392.html

http://www.cnblogs.com/lin557/p/6179618.html

 

博客地址:http://www.cnblogs.com/sword-successful/
博客版權(quán):本文以學習、研究和分享為主,歡迎轉(zhuǎn)載,但必須在文章頁面明顯位置給出原文連接。
如果文中有不妥或者錯誤的地方還望高手的你指出,以免誤人子弟。如果覺得本文對你有所幫助不如【推薦】一下!如果你有更好的建議,不如留言一起討論,共同進步!
再次感謝您耐心的讀完本篇文章。


http://www.cnblogs.com/sword-successful/p/6486339.html