一、整体概览

首先看maven工程的创建

二、各层的文件配置

2.1,SSM父工程

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><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">
  2. <modelVersion>4.0.0</modelVersion>
  3. <groupId>SSM-parent</groupId>
  4. <artifactId>Angel.SSM</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. <packaging>pom</packaging>
  7.  
  8. <!-- 集中定义依赖版本号 -->
  9. <properties>
  10. <junit.version>4.12</junit.version>
  11. <spring.version>4.1.3.RELEASE</spring.version>
  12. <mybatis.version>3.2.8</mybatis.version>
  13. <mybatis.spring.version>1.2.2</mybatis.spring.version>
  14. <mysql.version>5.1.32</mysql.version>
  15. <slf4j.version>1.6.4</slf4j.version>
  16. <jackson.version>2.4.2</jackson.version>
  17. <druid.version>1.0.9</druid.version>
  18. <jstl.version>1.2</jstl.version>
  19. <servlet-api.version>2.5</servlet-api.version>
  20. <jsp-api.version>2.0</jsp-api.version>
  21. <joda-time.version>2.5</joda-time.version>
  22. <commons-lang3.version>3.3.2</commons-lang3.version>
  23. <commons-io.version>1.3.2</commons-io.version>
  24. <commons-net.version>3.3</commons-net.version>
  25. <jsqlparser.version>0.9.1</jsqlparser.version>
  26. <commons-fileupload.version>1.3.1</commons-fileupload.version>
  27. </properties>
  28. <dependencyManagement>
  29. <dependencies>
  30. <!-- 时间操作组件 -->
  31. <dependency>
  32. <groupId>joda-time</groupId>
  33. <artifactId>joda-time</artifactId>
  34. <version>${joda-time.version}</version>
  35. </dependency>
  36. <!-- Apache工具组件 -->
  37. <dependency>
  38. <groupId>org.apache.commons</groupId>
  39. <artifactId>commons-lang3</artifactId>
  40. <version>${commons-lang3.version}</version>
  41. </dependency>
  42. <dependency>
  43. <groupId>org.apache.commons</groupId>
  44. <artifactId>commons-io</artifactId>
  45. <version>${commons-io.version}</version>
  46. </dependency>
  47. <dependency>
  48. <groupId>commons-net</groupId>
  49. <artifactId>commons-net</artifactId>
  50. <version>${commons-net.version}</version>
  51. </dependency>
  52. <!-- Jackson Json处理工具包 -->
  53. <dependency>
  54. <groupId>com.fasterxml.jackson.core</groupId>
  55. <artifactId>jackson-databind</artifactId>
  56. <version>${jackson.version}</version>
  57. </dependency>
  58. <!-- 单元测试 -->
  59. <dependency>
  60. <groupId>junit</groupId>
  61. <artifactId>junit</artifactId>
  62. <version>${junit.version}</version>
  63. <scope>test</scope>
  64. </dependency>
  65. <!-- 日志处理 -->
  66. <dependency>
  67. <groupId>org.slf4j</groupId>
  68. <artifactId>slf4j-log4j12</artifactId>
  69. <version>${slf4j.version}</version>
  70. </dependency>
  71. <!-- Mybatis -->
  72. <dependency>
  73. <groupId>org.mybatis</groupId>
  74. <artifactId>mybatis</artifactId>
  75. <version>${mybatis.version}</version>
  76. </dependency>
  77. <dependency>
  78. <groupId>org.mybatis</groupId>
  79. <artifactId>mybatis-spring</artifactId>
  80. <version>${mybatis.spring.version}</version>
  81. </dependency>
  82. <!-- MySql -->
  83. <dependency>
  84. <groupId>mysql</groupId>
  85. <artifactId>mysql-connector-java</artifactId>
  86. <version>${mysql.version}</version>
  87. </dependency>
  88. <!-- 连接池 -->
  89. <dependency>
  90. <groupId>com.alibaba</groupId>
  91. <artifactId>druid</artifactId>
  92. <version>${druid.version}</version>
  93. </dependency>
  94. <!-- Spring -->
  95. <dependency>
  96. <groupId>org.springframework</groupId>
  97. <artifactId>spring-context</artifactId>
  98. <version>${spring.version}</version>
  99. </dependency>
  100. <dependency>
  101. <groupId>org.springframework</groupId>
  102. <artifactId>spring-beans</artifactId>
  103. <version>${spring.version}</version>
  104. </dependency>
  105. <dependency>
  106. <groupId>org.springframework</groupId>
  107. <artifactId>spring-webmvc</artifactId>
  108. <version>${spring.version}</version>
  109. </dependency>
  110. <dependency>
  111. <groupId>org.springframework</groupId>
  112. <artifactId>spring-jdbc</artifactId>
  113. <version>${spring.version}</version>
  114. </dependency>
  115. <dependency>
  116. <groupId>org.springframework</groupId>
  117. <artifactId>spring-aspects</artifactId>
  118. <version>${spring.version}</version>
  119. </dependency>
  120. <!-- JSP相关 -->
  121. <dependency>
  122. <groupId>jstl</groupId>
  123. <artifactId>jstl</artifactId>
  124. <version>${jstl.version}</version>
  125. </dependency>
  126. <dependency>
  127. <groupId>javax.servlet</groupId>
  128. <artifactId>servlet-api</artifactId>
  129. <version>${servlet-api.version}</version>
  130. <scope>provided</scope>
  131. </dependency>
  132. <dependency>
  133. <groupId>javax.servlet</groupId>
  134. <artifactId>jsp-api</artifactId>
  135. <version>${jsp-api.version}</version>
  136. <scope>provided</scope>
  137. </dependency>
  138. </dependencies>
  139. </dependencyManagement>
  140.  
  141. <build>
  142. <finalName>${project.artifactId}</finalName>
  143. <plugins>
  144. <!-- 资源文件拷贝插件 -->
  145. <plugin>
  146. <groupId>org.apache.maven.plugins</groupId>
  147. <artifactId>maven-resources-plugin</artifactId>
  148. <version>2.7</version>
  149. <configuration>
  150. <encoding>UTF-8</encoding>
  151. </configuration>
  152. </plugin>
  153. <!-- java编译插件 -->
  154. <plugin>
  155. <groupId>org.apache.maven.plugins</groupId>
  156. <artifactId>maven-compiler-plugin</artifactId>
  157. <version>3.2</version>
  158. <configuration>
  159. <source>1.7</source>
  160. <target>1.7</target>
  161. <encoding>UTF-8</encoding>
  162. </configuration>
  163. </plugin>
  164. </plugins>
  165. <pluginManagement>
  166. <plugins>
  167. <!-- 配置Tomcat插件 -->
  168. <plugin>
  169. <groupId>org.apache.tomcat.maven</groupId>
  170. <artifactId>tomcat7-maven-plugin</artifactId>
  171. <version>2.2</version>
  172. </plugin>
  173. </plugins>
  174. </pluginManagement>
  175. </build>
  176.  
  177. <modules>
  178. <module>Angel-pojo</module>
  179. <module>Angel-mapper</module>
  180. <module>Angel-service</module>
  181. <module>Angel-web</module>
  182. </modules>
  183. </project></span>

2.2,pojo不依赖任何jar包,略过

2.3,mapper

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><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">
  2. <modelVersion>4.0.0</modelVersion>
  3. <parent>
  4. <groupId>SSM-parent</groupId>
  5. <artifactId>Angel.SSM</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. </parent>
  8. <artifactId>Angel-mapper</artifactId>
  9.  
  10. <!-- 依赖管理 -->
  11. <dependencies>
  12. <dependency>
  13. <groupId>SSM-parent</groupId>
  14. <artifactId>Angel-pojo</artifactId>
  15. <version>0.0.1-SNAPSHOT</version>
  16. </dependency>
  17. <!-- Mybatis -->
  18. <dependency>
  19. <groupId>org.mybatis</groupId>
  20. <artifactId>mybatis</artifactId>
  21. </dependency>
  22. <dependency>
  23. <groupId>org.mybatis</groupId>
  24. <artifactId>mybatis-spring</artifactId>
  25. </dependency>
  26. <!-- MySql -->
  27. <dependency>
  28. <groupId>mysql</groupId>
  29. <artifactId>mysql-connector-java</artifactId>
  30. </dependency>
  31. <!-- 连接池 -->
  32. <dependency>
  33. <groupId>com.alibaba</groupId>
  34. <artifactId>druid</artifactId>
  35. </dependency>
  36. </dependencies>
  37.  
  38. <!-- 如果不添加此节点Mybatis的mapper.xml文件都会被漏掉 -->
  39. <build>
  40. <resources>
  41. <resource>
  42. <directory>src/main/java</directory>
  43. <includes>
  44. <include>**/*.properties</include>
  45. <include>**/*.xml</include>
  46. </includes>
  47. <filtering>false</filtering>
  48. </resource>
  49. </resources>
  50. </build>
  51. </project></span>

2.4,service

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><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">
  2. <modelVersion>4.0.0</modelVersion>
  3. <parent>
  4. <groupId>SSM-parent</groupId>
  5. <artifactId>Angel.SSM</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. </parent>
  8. <artifactId>Angel-service</artifactId>
  9.  
  10. <!-- 依赖管理 -->
  11. <dependencies>
  12. <dependency>
  13. <groupId>SSM-parent</groupId>
  14. <artifactId>Angel-mapper</artifactId>
  15. <version>0.0.1-SNAPSHOT</version>
  16. </dependency>
  17.  
  18. <!-- Spring -->
  19. <dependency>
  20. <groupId>org.springframework</groupId>
  21. <artifactId>spring-context</artifactId>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.springframework</groupId>
  25. <artifactId>spring-beans</artifactId>
  26. </dependency>
  27. <dependency>
  28. <groupId>org.springframework</groupId>
  29. <artifactId>spring-webmvc</artifactId>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework</groupId>
  33. <artifactId>spring-jdbc</artifactId>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.springframework</groupId>
  37. <artifactId>spring-aspects</artifactId>
  38. </dependency>
  39. </dependencies>
  40.  
  41. </project></span>

2.5,Web

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><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/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <parent>
  5. <groupId>SSM-parent</groupId>
  6. <artifactId>Angel.SSM</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. </parent>
  9. <artifactId>Angel-web</artifactId>
  10. <packaging>war</packaging>
  11.  
  12. <!-- 依赖管理 -->
  13. <dependencies>
  14. <dependency>
  15. <groupId>SSM-parent</groupId>
  16. <artifactId>Angel-service</artifactId>
  17. <version>0.0.1-SNAPSHOT</version>
  18. </dependency>
  19. <!-- JSP相关 -->
  20. <dependency>
  21. <groupId>jstl</groupId>
  22. <artifactId>jstl</artifactId>
  23. </dependency>
  24. <dependency>
  25. <groupId>javax.servlet</groupId>
  26. <artifactId>servlet-api</artifactId>
  27. <scope>provided</scope>
  28. </dependency>
  29. <dependency>
  30. <groupId>javax.servlet</groupId>
  31. <artifactId>jsp-api</artifactId>
  32. <scope>provided</scope>
  33. </dependency>
  34. <!-- Jackson Json处理工具包 -->
  35. <dependency>
  36. <groupId>com.fasterxml.jackson.core</groupId>
  37. <artifactId>jackson-databind</artifactId>
  38. </dependency>
  39. </dependencies>
  40. </project></span>

2.5.2,spring整合配置文件

2.5.2.1,Mybatis

目前无,当使用到分页插件,或者额外的功能配置时,需要进行配置,下面以配置分页插件为例:

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis3 config.dtd">
  5.  
  6. <configuration>
  7. <!-- 配置分页插件 -->
  8. <plugins>
  9. <plugin interceptor="com.github.pagehelper.PageHelper">
  10. <!-- 设置数据库类型Oracle,MySQL,MarinDBName,SQLite,PostareSQL六种数据库 -->
  11. <property name="dialect" value="mysql"/>
  12. </plugin>
  13. </plugins>
  14. </configuration></span>

jdbc.properties:数据库连接信息配置,主要包括jdbc.driver数据库驱动;jdbc.url数据库连接地址;jdbc.username连接用户名称;jdbc.password用户密码

2.5.2.2,spring配置

(为了分层解耦,为每一层,每一个用途的spring配置,都进行了单独配置)

1,首先:applicationContext-dao.xml,在这一层,主要配置数据库连接池(用到jdbc.properties数据库连接信息),Mybatis配置信息,加载Mybatis的mapper对象

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><beans xmlns="http://www.springframework.org/schema/beans"
  2. xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
  3. xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  6. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  7. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
  8. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
  9.  
  10. <!-- 数据库连接池 -->
  11. <!-- 加载配置文件 -->
  12. <context:property-placeholder location="classpath:resource/*.properties" />
  13. <!-- 数据库连接池 -->
  14. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
  15. destroy-method="close">
  16. <property name="url" value="${jdbc.url}" />
  17. <property name="username" value="${jdbc.username}" />
  18. <property name="password" value="${jdbc.password}" />
  19. <property name="driverClassName" value="${jdbc.driver}" />
  20. <property name="maxActive" value="10" />
  21. <property name="minIdle" value="5" />
  22. </bean>
  23. <!-- 让spring管理sqlsessionfactory-->
  24. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  25. <!-- 数据库连接池 -->
  26. <property name="dataSource" ref="dataSource" />
  27. <!-- 加载mybatis的全局配置文件 -->
  28. <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" />
  29. </bean>
  30. <!-- 配置扫描包,加载mapper代理对象 -->
  31. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  32. <property name="basePackage" value="Angel.mapper" />
  33.  
  34. </bean>
  35. </beans></span>

2,applicationContext-service.xml,主要就是配置扫描包,一句话:

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- 扫描包,加载service实现类 -->
  2. <context:component-scan base-package="Angel.service"></context:component-scan>
  3. </span>

3,applicationContext-trans.xml事务传播配置,AOP切面配置

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><beans xmlns="http://www.springframework.org/schema/beans"
  2. xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
  3. xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  6. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  7. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
  8. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
  9. <!-- 事务管理器 -->
  10. <bean id="transactionManager"
  11. class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  12. <!-- 数据源 -->
  13. <property name="dataSource" ref="dataSource" />
  14. </bean>
  15. <!-- 通知 -->
  16. <tx:advice id="txAdvice" transaction-manager="transactionManager">
  17. <tx:attributes>
  18. <!-- 传播行为 -->
  19. <tx:method name="save*" propagation="REQUIRED" />
  20. <tx:method name="insert*" propagation="REQUIRED" />
  21. <tx:method name="add*" propagation="REQUIRED" />
  22. <tx:method name="create*" propagation="REQUIRED" />
  23. <tx:method name="delete*" propagation="REQUIRED" />
  24. <tx:method name="update*" propagation="REQUIRED" />
  25. <tx:method name="find*" propagation="SUPPORTS" read-only="true" />
  26. <tx:method name="select*" propagation="SUPPORTS" read-only="true" />
  27. <tx:method name="get*" propagation="SUPPORTS" read-only="true" />
  28. </tx:attributes>
  29. </tx:advice>
  30. <!-- 切面 -->
  31. <aop:config>
  32. <aop:advisor advice-ref="txAdvice"
  33. pointcut="execution(* Angel.service.*.*(..))" />
  34. </aop:config>
  35. </beans>
  36. </span>

2.5.2.3,springMVC配置

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><?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" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
  8. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
  9.  
  10. <context:component-scan base-package="Angel.controller" />
  11. <mvc:annotation-driven />
  12. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  13. <property name="prefix" value="/WEB-INF/jsp/"></property>
  14. <property name="suffix" value=".jsp" />
  15. </bean>
  16.  
  17. <!-- 资源映射 -->
  18. <mvc:resources location="/WEB-INF/css/" mapping="/css/**" />
  19. <mvc:resources location="/WEB-INF/js/" mapping="/js/**" />
  20.  
  21. <!-- 当有文件上传需要时,定义文件上传解析器,在同时,也需要在pom文件中添加上传jar的依赖 -->
  22. <!--<bean id="multipartResolver"
  23. class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  24. <!-- 设定默认编码 -->
  25. <property name="defaultEncoding" value="UTF-8"></property>
  26. <!-- 设定文件上传的最大值5MB,5*1024*1024 -->
  27. <property name="maxUploadSize" value="5242880"></property>
  28. </bean>-->
  29.  
  30. </beans>
  31. </span>

2.5.2.4,web.xml配置

主要包括,SpringMVC前端控制器的启动,spring容器的启动配置,post乱码过滤

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5. version="2.5">
  6. <display-name>Angel-web</display-name>
  7. <welcome-file-list>
  8. <welcome-file>/WEB-INF/jsp/index.jsp</welcome-file>
  9. </welcome-file-list>
  10.  
  11. <!-- 加载spring容器 -->
  12. <context-param>
  13. <param-name>contextConfigLocation</param-name>
  14. <param-value>classpath:spring/applicationContext-*.xml</param-value>
  15. </context-param>
  16. <listener>
  17. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  18. </listener>
  19.  
  20. <!-- 解决post乱码过滤器 -->
  21. <filter>
  22. <filter-name>CharacterEncodingFilter</filter-name>
  23. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  24. <init-param>
  25. <param-name>encoding</param-name>
  26. <param-value>utf-8</param-value>
  27. </init-param>
  28. </filter>
  29. <filter-mapping>
  30. <filter-name>CharacterEncodingFilter</filter-name>
  31. <url-pattern>/*</url-pattern>
  32. </filter-mapping>
  33.  
  34. <!-- springmvc的前端控制器 -->
  35. <servlet>
  36. <servlet-name>Angel-web</servlet-name>
  37. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  38. <init-param>
  39. <param-name>contextConfigLocation</param-name>
  40. <param-value>classpath:spring/springmvc.xml</param-value>
  41. </init-param>
  42. <load-on-startup>1</load-on-startup>
  43. </servlet>
  44. <servlet-mapping>
  45. <servlet-name>Angel-web</servlet-name>
  46. <url-pattern>/</url-pattern>
  47. </servlet-mapping>
  48. </web-app></span>

三、具体实例

3.1,pojo实例类

TbUser.java(篇幅所限,set和get方法略去)

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">package Angel.pojo;
  2.  
  3. import java.util.Date;
  4.  
  5. public class TbUser {
  6. private Long id;
  7.  
  8. private String username;
  9.  
  10. private String password;
  11.  
  12. private String phone;
  13.  
  14. private String email;
  15.  
  16. private Date created;
  17.  
  18. private Date updated;</span>

3.2,mapper

3.2.1,mapper接口类TbUserMapper.java

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">package Angel.mapper;
  2.  
  3. import Angel.pojo.TbUser;
  4.  
  5. public interface TbUserMapper {
  6.  
  7. TbUser selectByName(String Name);
  8.  
  9. }</span>

3.2.2,sql实现文件TbUserMapper.xml

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"></pre><pre name="code" class="html"><?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="Angel.mapper.TbUserMapper" >
  4. <resultMap id="BaseResultMap" type="Angel.pojo.TbUser" >
  5. <id column="id" property="id" jdbcType="BIGINT" />
  6. <result column="username" property="username" jdbcType="VARCHAR" />
  7. <result column="password" property="password" jdbcType="VARCHAR" />
  8. <result column="phone" property="phone" jdbcType="VARCHAR" />
  9. <result column="email" property="email" jdbcType="VARCHAR" />
  10. <result column="created" property="created" jdbcType="TIMESTAMP" />
  11. <result column="updated" property="updated" jdbcType="TIMESTAMP" />
  12. </resultMap>
  13.  
  14. <select id="selectByName" resultMap="BaseResultMap" parameterType="java.lang.String" >
  15. select
  16. id, username, password,phone, email, created, updated
  17. from tb_user
  18. where username = #{username,jdbcType=VARCHAR}
  19. </select>
  20. </mapper></span>

3.3,service

UserServiceImpl.java(接口省略)

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">package Angel.service.impl;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Service;
  5.  
  6. import Angel.mapper.TbUserMapper;
  7. import Angel.pojo.TbUser;
  8. import Angel.service.UserService;
  9.  
  10. @Service(value="userService")
  11. public class UserServiceImpl implements UserService {
  12.  
  13. @Autowired
  14. private TbUserMapper userMapper;
  15.  
  16. @Override
  17. public TbUser selectByName(String Name) {
  18.  
  19. return userMapper.selectByName(Name);
  20. }
  21. }
  22. </span>

3.4,web-UserController.java

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;">package Angel.controller;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5.  
  6. import javax.servlet.http.HttpServletResponse;
  7.  
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Controller;
  10. import org.springframework.web.bind.annotation.PathVariable;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12.  
  13. import Angel.pojo.TbUser;
  14. import Angel.service.UserService;
  15.  
  16. import com.fasterxml.jackson.databind.ObjectMapper;
  17.  
  18. @Controller
  19. public class UserController {
  20.  
  21. @Autowired
  22. private UserService userService;
  23.  
  24. @RequestMapping("/user/find/{name}")
  25. public void insertUser(@PathVariable("name") String name,HttpServletResponse response) throws IOException {
  26.  
  27. TbUser user=userService.selectByName(name);
  28.  
  29. ObjectMapper objectMapper=new ObjectMapper();
  30. response.setContentType("application/json;charset=UTF-8");
  31. String json="";
  32. PrintWriter out=response.getWriter();
  33. if(user!=null){
  34. json=objectMapper.writeValueAsString(user);
  35. out.write(json);
  36. }else{
  37. out.write("error");
  38. }
  39. }
  40. }</span>

3.5,JSP页面

  1. <span style="font-family:KaiTi_GB2312;font-size:18px;"><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
  5. %>
  6.  
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  8. <html>
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  11.  
  12. <title>SSM-Angel</title>
  13.  
  14. <link rel="stylesheet" type="text/css" href="js/jquery-easyui-1.4.1/themes/default/easyui.css" />
  15. <link rel="stylesheet" type="text/css" href="js/jquery-easyui-1.4.1/themes/icon.css" />
  16.  
  17. </head>
  18. <body>
  19.  
  20. <input type="text" id="username"/><br><br>
  21. <span id="detail"></span><br><br>
  22. <input type="button" id="" value="查询" onclick="findUser()"/>
  23.  
  24. <script type="text/javascript" src="js/jquery-easyui-1.4.1/jquery.min.js"></script>
  25. <script type="text/javascript" src="js/jquery-easyui-1.4.1/jquery.easyui.min.js"></script>
  26. <script type="text/javascript" src="js/jquery-easyui-1.4.1/locale/easyui-lang-zh_CN.js"></script>
  27. <script type="text/javascript">
  28. function findUser(){
  29. var username=$("#username").val();
  30. $.post('<%=basePath%>user/find/'+username,function(data){
  31. //测试框架效果,输入的用户,在数据库中存在相应数据,因此未做判空处理
  32. if(data!="error"){
  33. var detailInfo="username:"+data.username+" phone:"+data.phone+" ...";
  34. $("#detail").text(detailInfo);
  35. }else{
  36. $.messager.alert("info","查询用户出错!")
  37. }
  38. });
  39. }
  40. </script>
  41. </body>
  42. </html>
  43. </span>

3.6,运行结果截图

四、总结

虽然用maven减少了jar下载引用的负担,但是,从SSM框架的搭建可以看出,引入了特别多的依赖,而且,当我在父工程进行引用后,在各个子模块需要用到的时候,还需要再次依赖引用,有什么方法可以解决这种依赖引用呢,接下来介绍spring boot

【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤的更多相关文章

  1. SSM(Spring +SpringMVC + Mybatis)框架搭建

    SSM(Spring +SpringMVC + Mybatis)框架的搭建 最近通过学习别人博客发表的SSM搭建Demo,尝试去搭建一个简单的SSMDemo---实现的功能是对用户增删改查的操作 参考 ...

  2. 基于Maven的ssm(spring+springMvc+Mybatis)框架搭建

    前言 本demo是在idea下搭建的maven项目,数据库使用Mysql,jdk版本是1.8.0_171,ideal:2017.3.5 一.新建项目 1.file->new->porjec ...

  3. spring+springmvc+mybatis框架搭建

    一.开发前准备 1)ecplise4.11.0 百度网盘:https://pan.baidu.com/s/1wO9_I52lp0mYNeNTdnj80w 提取码:booa 2)jdk1.6.0_45  ...

  4. 【SSM】---Spring+SpringMVC+Mybatis框架整合

    参考 百度经验 https://jingyan.baidu.com/article/2a1383288a85a9074a134f1b.html CSDN http://blog.csdn.net/ge ...

  5. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...

  6. Spring+SpringMvc+Mybatis框架集成搭建教程

    一.背景 最近有很多同学由于没有过SSM(Spring+SpringMvc+Mybatis , 以下简称SSM)框架的搭建的经历,所以在自己搭建SSM框架集成的时候,出现了这样或者那样的问题,很是苦恼 ...

  7. SSM(Spring + Springmvc + Mybatis)框架面试题

    JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + M ...

  8. 【Spring】Spring+SpringMVC+MyBatis框架的搭建

    1,SSM的简介 SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架. 其中s ...

  9. SSM(Spring,SpringMVC,Mybatis)框架整合项目

    快速上手SSM(Spring,SpringMVC,Mybatis)框架整合项目 环境要求: IDEA MySQL 8.0.25 Tomcat 9 Maven 3.6 数据库环境: 创建一个存放书籍数据 ...

随机推荐

  1. C#生成随机字符串(数字,字母,特殊符号)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. 简谈ashx

    是一般处理程序, 是asp.net web 组件的一种,ashx是其扩展名. 实现IHttpHandler接口,接收并处理http请求.这个接口有一个IsReusable成员,一个待实现的方法Proc ...

  3. js中substr,substring,indexOf,lastIndexOf,split 的用法

    1.substr substr(start,length)表示从start位置开始,截取length长度的字符串. var src="images/off_1.png";alert ...

  4. Android ui 测试课堂笔记

    开始接触Android ui测试了,笔记如下 模拟器 Genemotion , the fastest android simulator in the world Android ui 测试工具 S ...

  5. IOS上解决内存越界访问问题

    IOS经常会混合使用C代码,而在C中,对内存的读写是很频繁的操作. 其中,内存越界读写 unsigned char* p =(unsigned char*)malloc(10); unsigned c ...

  6. js中event.target

    event.srcElement从字面上可以看出来有以下关键字:事件,源     他的意思就是:当前事件的源, 我们可以调用他的各种属性 就像:document.getElementById(&quo ...

  7. VIM编辑新文件自动添加头文件信息

    把如下文件直接贴到root目录下,在编辑新文件的时候显示自定义信息. root@shenlan-qianlan:/home/python/day1# vim shenlanqianlan.sh #!/ ...

  8. [Linux] - CentOS中文乱码解决办法

    CentOS 7 终端中文乱码解决办法: 1.使用vim编辑locale.config文件: vim /etc/locale.conf 2.将LANG="en_US.UTF-8"修 ...

  9. JS跨域解决iframe高度自适应(IE8/Firefox/Chrome适用)

    参考园友的js跨越实现,有提到三种方式: 1. 中间页代理方式,利用iframe的location.hash 参见:http://www.5icool.org/a/201203/a1129.html ...

  10. VR外包团队:VR和AR技术已经红得发紫

    近6个月以来,VR和AR技术已经红得发紫. 不管是创业公司还是互联网巨头,如果不在VR领域有所涉猎,都不好意思跟外界打招呼.最近,阿里巴巴公布VR战略并推出了一条VR购物的视频,更是给业界打了满满一碗 ...