写在前面:

  公司一直都是使用ssh框架(Struts2,Spring,Hibernate)来开发,但是现在外面的公司大多数都是使用的ssm框架,所以也有必要多学习一下外面的新技术。这里就快速搭建一个小的demo来入门了解一下。

  ssm的分别表示:SpringMVC、Spring、Mybatis。

  由于只是想快速搭建一个ssm框架,所以这里也没有对SpringMVC、Spring、Mybatis的概念以及内部原理去做过多的深究,因为个人觉得还是要先学会使用轮子。一开始就去看一些太多理念或者原理,也不会很理解,当然了,理念的东西在开始做之前还是要稍微的了解一下的。

  比如就要知道SpringMVC对应着ssh中的Struts2,都是web层,主要用于接收用户发送的请求,与给予响应。

  再者就是Spring,它是一个大大的容器,用来管理各种实体类,以及配置数据库事务等。它的两大特性主要是IOC与AOP。

  IOC:Inversion of Control,控制反转,让Spring容器去管理装载bean,即把java类的初始化交给spring容器去执行,需要用时直接引用。

  AOP:Aspect Oriented Programming,面向切面编程。通过动态代理或cglib代理把重复的具有相同功能的代码横向独立出来或横向插入。

  图中可以看到方法1,方法2,方法3中都有相同的代码A,B,把代码A,B提取出来,只留下不同的代码。将代码A,B进行统一管理。

  面向切面场景举例:事务管理

  现在有两个方法,方法一:开启事务,更新表里的数据,提交事务;方法二:开启事务,删除表里面的数据,提交事务。

  代码是伪代码,也是借用斌哥做的ppt上的图。这两个方法都有相同的功能代码(开启事务,提交事务)。将事务开启,与事务的提交单独抽取出来,然后统一管理。这就是aop的作用。

  最后,Mytabis是一个持久层框架,它可以使用简单的XML文件或注解来配置和映射原生信息,将接口(Mapper层)和java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。它是可以直接在xml文件里写sql语句的。

  与之都是ORM(Object Relational Mapping,对象关系映射)框架的Hibernate,却是使得程序员可以直接以面向对象的方式来操纵数据库,一般使用hql语句,虽然也可以使用sql语句,但是使用sql语句的灵活度不如Mybatis。两者的区别也不是几句话就能说清楚的,但是基本的还是要了解。

  对三个框架有个基本的认知后,下面就开始整合。这里使用Maven来创建web项目,这里如何创建就不细说了可以参考之前的博客https://www.cnblogs.com/eleven258/p/9842633.html

  准备工作:

  首先我们需要创建数据库,并创建对应的表,这里只创建一个简单的测试表,然后插入一条数据。

  1. DROP TABLE IF EXISTS `user_t`;
  2.  
  3. CREATE TABLE `user_t` (
  4. `id` int(11) NOT NULL AUTO_INCREMENT,
  5. `user_name` varchar(40) NOT NULL,
  6. `password` varchar(255) NOT NULL,
  7. `age` int(4) NOT NULL,
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
  10.  
  11. /*Data for the table `user_t` */
  12.  
  13. insert into `user_t`(`id`,`user_name`,`password`,`age`) values (1,'蚊子','abcd',23);

  然后将对应所需要的一些文件夹,包名都建好。

  

  开始SSM整合:

  1.使用maven引入所需jar包

  pom.xml配置文件

  1. <properties>
  2. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3. <maven.compiler.source>1.7</maven.compiler.source>
  4. <maven.compiler.target>1.7</maven.compiler.target>
  5. <!-- spring版本号 -->
  6. <spring.version>4.0.2.RELEASE</spring.version>
  7. <!-- mybatis版本号 -->
  8. <mybatis.version>3.2.6</mybatis.version>
  9. <!-- log4j日志文件管理包版本 -->
  10. <slf4j.version>1.7.7</slf4j.version>
  11. <log4j.version>1.2.17</log4j.version>
  12. </properties>
  13.  
  14. <dependencies>
  15. <dependency>
  16. <groupId>junit</groupId>
  17. <artifactId>junit</artifactId>
  18. <version>4.11</version>
  19. <!-- 表示开发的时候引入,发布的时候不会加载此包 -->
  20. <scope>test</scope>
  21. </dependency>
  22.  
  23. <!-- spring核心包 -->
  24. <dependency>
  25. <groupId>org.springframework</groupId>
  26. <artifactId>spring-core</artifactId>
  27. <version>${spring.version}</version>
  28. </dependency>
  29. <dependency>
  30. <groupId>org.springframework</groupId>
  31. <artifactId>spring-web</artifactId>
  32. <version>${spring.version}</version>
  33. </dependency>
  34. <dependency>
  35. <groupId>org.springframework</groupId>
  36. <artifactId>spring-oxm</artifactId>
  37. <version>${spring.version}</version>
  38. </dependency>
  39. <dependency>
  40. <groupId>org.springframework</groupId>
  41. <artifactId>spring-tx</artifactId>
  42. <version>${spring.version}</version>
  43. </dependency>
  44. <dependency>
  45. <groupId>org.springframework</groupId>
  46. <artifactId>spring-jdbc</artifactId>
  47. <version>${spring.version}</version>
  48. </dependency>
  49. <dependency>
  50. <groupId>org.springframework</groupId>
  51. <artifactId>spring-webmvc</artifactId>
  52. <version>${spring.version}</version>
  53. </dependency>
  54. <dependency>
  55. <groupId>org.springframework</groupId>
  56. <artifactId>spring-aop</artifactId>
  57. <version>${spring.version}</version>
  58. </dependency>
  59. <dependency>
  60. <groupId>org.springframework</groupId>
  61. <artifactId>spring-context-support</artifactId>
  62. <version>${spring.version}</version>
  63. </dependency>
  64. <dependency>
  65. <groupId>org.springframework</groupId>
  66. <artifactId>spring-test</artifactId>
  67. <version>${spring.version}</version>
  68. </dependency>
  69.  
  70. <!-- mybatis核心包 -->
  71. <dependency>
  72. <groupId>org.mybatis</groupId>
  73. <artifactId>mybatis</artifactId>
  74. <version>${mybatis.version}</version>
  75. </dependency>
  76.  
  77. <!-- mybatis/spring包 -->
  78. <dependency>
  79. <groupId>org.mybatis</groupId>
  80. <artifactId>mybatis-spring</artifactId>
  81. <version>1.2.2</version>
  82. </dependency>
  83.  
  84. <!-- 导入java ee jar 包 -->
  85. <dependency>
  86. <groupId>javax</groupId>
  87. <artifactId>javaee-api</artifactId>
  88. <version>7.0</version>
  89. </dependency>
  90.  
  91. <!-- 导入Mysql数据库链接jar包 -->
  92. <dependency>
  93. <groupId>mysql</groupId>
  94. <artifactId>mysql-connector-java</artifactId>
  95. <version>5.1.30</version>
  96. </dependency>
  97.  
  98. <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
  99. <dependency>
  100. <groupId>commons-dbcp</groupId>
  101. <artifactId>commons-dbcp</artifactId>
  102. <version>1.2.2</version>
  103. </dependency>
  104.  
  105. <!-- JSTL标签类 -->
  106. <dependency>
  107. <groupId>jstl</groupId>
  108. <artifactId>jstl</artifactId>
  109. <version>1.2</version>
  110. </dependency>
  111.  
  112. <!-- 日志文件管理包 -->
  113. <!-- log start -->
  114. <dependency>
  115. <groupId>log4j</groupId>
  116. <artifactId>log4j</artifactId>
  117. <version>${log4j.version}</version>
  118. </dependency>
  119. <!-- 格式化对象,方便输出日志 -->
  120. <dependency>
  121. <groupId>com.alibaba</groupId>
  122. <artifactId>fastjson</artifactId>
  123. <version>1.1.41</version>
  124. </dependency>
  125. <dependency>
  126. <groupId>org.slf4j</groupId>
  127. <artifactId>slf4j-api</artifactId>
  128. <version>${slf4j.version}</version>
  129. </dependency>
  130. <dependency>
  131. <groupId>org.slf4j</groupId>
  132. <artifactId>slf4j-log4j12</artifactId>
  133. <version>${slf4j.version}</version>
  134. </dependency>
  135. <!-- log end -->
  136.  
  137. <!-- 引入JS-->
  138. <dependency>
  139. <groupId>org.codehaus.jackson</groupId>
  140. <artifactId>jackson-mapper-asl</artifactId>
  141. <version>1.9.13</version>
  142. </dependency>
  143.  
  144. <!-- 上传组件包 -->
  145. <dependency>
  146. <groupId>commons-fileupload</groupId>
  147. <artifactId>commons-fileupload</artifactId>
  148. <version>1.3.1</version>
  149. </dependency>
  150. <dependency>
  151. <groupId>commons-io</groupId>
  152. <artifactId>commons-io</artifactId>
  153. <version>2.4</version>
  154. </dependency>
  155. <dependency>
  156. <groupId>commons-codec</groupId>
  157. <artifactId>commons-codec</artifactId>
  158. <version>1.9</version>
  159. </dependency>
  160.  
  161. </dependencies>

  配置好后,点击右侧的Maven Projects,点击重新导入按钮,等待引入相关的jar包。

  

  

  2.配置spring与mybatis的整合

  首先配置jdbc.properties

  1. jdbc.driverClass = com.mysql.jdbc.Driver
    jdbc.url = jdbc:mysql://localhost:3306/ssm?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8
    jdbc.username = root
    jdbc.password = 123456

 建立spring-mybatis.xml文件并配置,此文件是完成spring与mybatis整合的配置文件

  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" 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
  7. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context-3.1.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
  12. <!-- 自动扫描 -->
  13. <context:component-scan base-package="com.ssm" />
  14.  
  15. <!--加载jdbc配置文件-->
  16. <context:property-placeholder location="classpath:jdbc.properties"/>
  17.  
  18. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  19. destroy-method="close">
  20. <property name="driverClassName" value="${jdbc.driverClass}" />
  21. <property name="url" value="${jdbc.url}" />
  22. <property name="username" value="${jdbc.username}" />
  23. <property name="password" value="${jdbc.password}" />
  24. <!-- 初始化连接大小 -->
  25. <property name="initialSize" value="0"></property>
  26. <!-- 连接池最大数量 -->
  27. <property name="maxActive" value="20"></property>
  28. <!-- 连接池最大空闲 -->
  29. <property name="maxIdle" value="20"></property>
  30. <!-- 连接池最小空闲 -->
  31. <property name="minIdle" value="1"></property>
  32. <!-- 获取连接最大等待时间 -->
  33. <property name="maxWait" value="60000"></property>
  34. </bean>
  35.  
  36. <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
  37. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  38. <property name="dataSource" ref="dataSource" />
  39. <!-- 自动扫描mapping.xml文件 -->
  40. <property name="mapperLocations" value="classpath:mapping/*.xml"></property>
  41. </bean>
  42.  
  43. <!-- DAO接口所在包名,Spring会自动查找其下的类 -->
  44. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  45. <property name="basePackage" value="com.ssm.dao" />
  46. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
  47. </bean>
  48.  
  49. <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
  50. <bean id="transactionManager"
  51. class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  52. <property name="dataSource" ref="dataSource" />
  53. </bean>
  54.  
  55. </beans>

  3.配置spring-mvc.xml

  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" 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
  7. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context-3.1.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
  12. <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->
  13. <context:component-scan base-package="com.ssm.controller "/>
  14. <!--避免IE执行AJAX时,返回JSON出现下载文件 -->
  15. <bean id="mappingJacksonHttpMessageConverter"
  16. class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
  17. <property name="supportedMediaTypes">
  18. <list>
  19. <value>text/html;charset=UTF-8</value>
  20. </list>
  21. </property>
  22. </bean>
  23. <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->
  24. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
  25. <property name="messageConverters">
  26. <list>
  27. <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 -->
  28. </list>
  29. </property>
  30. </bean>
  31. <!-- 定义跳转的文件的前后缀 ,视图模式配置-->
  32. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  33. <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->
  34. <property name="prefix" value="/WEB-INF/jsp/" />
  35. <property name="suffix" value=".jsp" />
  36. </bean>
  37.  
  38. <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
  39. <!-- <bean id="multipartResolver"
  40. class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  41. &lt;!&ndash; 默认编码 &ndash;&gt;
  42. <property name="defaultEncoding" value="utf-8" />
  43. &lt;!&ndash; 文件大小最大值 &ndash;&gt;
  44. <property name="maxUploadSize" value="10485760000" />
  45. &lt;!&ndash; 内存中的最大值 &ndash;&gt;
  46. <property name="maxInMemorySize" value="40960" />
  47. </bean>-->
  48.  
  49. </beans>

  4.配置web.xml文件

  1. <?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"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  5. version="3.0">
  6. <display-name>Archetype Created Web Application</display-name>
  7. <!-- Spring和mybatis的配置文件 -->
  8. <context-param>
  9. <param-name>contextConfigLocation</param-name>
  10. <param-value>classpath:spring-mybatis.xml</param-value>
  11. </context-param>
  12. <!-- 编码过滤器 -->
  13. <filter>
  14. <filter-name>encodingFilter</filter-name>
  15. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  16. <async-supported>true</async-supported>
  17. <init-param>
  18. <param-name>encoding</param-name>
  19. <param-value>UTF-8</param-value>
  20. </init-param>
  21. </filter>
  22. <filter-mapping>
  23. <filter-name>encodingFilter</filter-name>
  24. <url-pattern>/*</url-pattern>
  25. </filter-mapping>
  26. <!-- Spring监听器 -->
  27. <listener>
  28. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  29. </listener>
  30. <!-- 防止Spring内存溢出监听器 -->
  31. <listener>
  32. <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
  33. </listener>
  34.  
  35. <!-- Spring MVC servlet -->
  36. <servlet>
  37. <servlet-name>SpringMVC</servlet-name>
  38. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  39. <init-param>
  40. <param-name>contextConfigLocation</param-name>
  41. <param-value>classpath:spring-mvc.xml</param-value>
  42. </init-param>
  43. <load-on-startup>1</load-on-startup>
  44. <async-supported>true</async-supported>
  45. </servlet>
  46. <servlet-mapping>
  47. <servlet-name>SpringMVC</servlet-name>
  48. <!-- 此处可以可以配置成*.do,对应struts的后缀习惯 -->
  49. <url-pattern>/</url-pattern>
  50. </servlet-mapping>
  51. <welcome-file-list>
  52. <welcome-file>/index.jsp</welcome-file>
  53. </welcome-file-list>
  54.  
  55. </web-app>

  5.log4j的配置,(这里就不再贴对应的配置文件了),让其能在控制台输出信息,如果需要可以去查看之前的资料https://www.cnblogs.com/eleven258/p/7380396.html

  到这一步,所需要的配置文件已经全部配置完毕。目录结构图如下:

  6.使用Mybatis Generator自动创建代码

  这个可以用写好的配置文件,根据数据库表来自动的创建对应的实体类,对应的mapping.xml文件以及对应的mapper接口(dao层)。

  第一步,首先在pom.xml文件中添加插件mybatis-generator-maven-plugin

  1. <plugin>
  2. <groupId>org.mybatis.generator</groupId>
  3. <artifactId>mybatis-generator-maven-plugin</artifactId>
  4. <version>1.3.2</version>
  5. <configuration>
  6. <verbose>true</verbose>
  7. <overwrite>true</overwrite>
  8. </configuration>
  9. </plugin>

  第二步,在src/main/resources 目录下建立名为 generatorConfig.xml的配置文件,作为mybatis-generator-maven-plugin 插件的执行目标,模板如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE generatorConfiguration
  3. PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  4. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  5. <generatorConfiguration>
  6. <!-- 数据库驱动-->
  7. <classPathEntry location="D:\my_maven_local_repository\mysql\mysql-connector-java\5.1.30\mysql-connector-java-5.1.30.jar"/>
  8. <context id="DB2Tables" targetRuntime="MyBatis3">
  9. <commentGenerator>
  10. <property name="suppressDate" value="true"/>
  11. <!-- 是否去除自动生成的注释 true:是 : false:否 -->
  12. <property name="suppressAllComments" value="true"/>
  13. </commentGenerator>
  14. <!--数据库链接URL,用户名、密码 -->
  15. <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/ssm" userId="root" password="123456">
  16. </jdbcConnection>
  17. <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
  18. <javaTypeResolver>
  19. <property name="forceBigDecimals" value="false"/>
  20. </javaTypeResolver>
  21.  
  22. <!-- 生成模型的包名和位置
  23. targetPackage 指定生成的model生成所在的包名
  24. targetProject 指定在该项目下所在的路径
  25. -->
  26. <javaModelGenerator targetPackage="com.ssm.bean" targetProject="src/main/java">
  27. <property name="enableSubPackages" value="true"/>
  28. <property name="trimStrings" value="true"/>
  29. </javaModelGenerator>
  30. <!-- 生成映射文件的包名和位置-->
  31. <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
  32. <property name="enableSubPackages" value="true"/>
  33. </sqlMapGenerator>
  34. <!-- 生成DAO的包名和位置-->
  35. <javaClientGenerator type="XMLMAPPER" targetPackage="com.ssm.dao" targetProject="src/main/java">
  36. <property name="enableSubPackages" value="true"/>
  37. </javaClientGenerator>
  38. <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
  39. <table tableName="user_t" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
  40. </context>
  41. </generatorConfiguration>

  第三步,在Intellij IDEA添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件 :

  其中Command line输入的是 mybatis-generator:generate -e

  如果添加成功,则会在run 选项中有“generator” 选项,如下:

  然后点击运行,如果运行成功的话,会在控制台看到BUILD SUCCESS,如果有错误的话,由于添加了-e 选项,会把具体的详细错误信息打印出来的,根据错误信息修改即可。  

  这时你的目录下面就多了刚自动创建生成的文件了

  这里要特别注意下,最好是将XXXMapper.xml文件放在resources路径下,因为在测试的时候我把自动生成的mapper.xml文件放在src/main/java下一直扫描不到.所以这里最好注意下。对应的参考连接https://blog.csdn.net/zhwyj1019/article/details/79088073

  7.到这里我们就可以去编写代码啦,首先我们,编写业务层的代码

  UserService接口

  1. public interface UserService {
  2. public User getUserById(int id);
  3. }

  UserServiceImpl.java

  1. @Service("userService")
  2. public class UserServiceImol implements UserService{
  3.  
  4. //引入mapper接口
  5. @Resource
  6. private UserMapper userMapper;
  7.  
  8. @Override
  9. public User getUserById(int id) {
  10. //这里调用的方法是与UserMapper.xml文件中对应的id名是一致的
  11. return userMapper.selectByPrimaryKey(id);
  12. }
  13. }

  8.编写对应的Controller层的代码

  1. @Controller("UserController")
  2. @RequestMapping("/user")
  3. public class UserController {
  4. //引入service接口
  5. @Resource
  6. private UserService userService;
  7.  
  8. @RequestMapping("/showUser")
  9. public String test(HttpServletRequest request, Model model){
  10. String id = request.getParameter("id");
  11. User user = userService.getUserById(Integer.parseInt(id));
  12. model.addAttribute("user",user);
  13. return "showUser";
  14. }
  15. }

  9.编写对应的jsp页面,这里简单的测试下showUser.jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>测试</title>
  5. </head>
  6. <body>
  7. ${user.userName}
  8. </body>
  9. </html>

  10.部署项目,启动,在浏览器地址栏输入:http://localhost:8080/ssmDemo/user/showUser?id=1 回车,可以看到,出现名字,成功啦~~~~

  到这里ssm三大框架的快速整合就完成了,对于使用generator插件自动生成的代码,可以自己下去生成看看对应的内容,这里就不再把代码贴上来了 。

  这里附上完整的项目结构目录:

  

  还有值得注意的是,对于jdbc文件的配置,在参考资料的时候,写的是username,前面没有加jdbc,这个时候会报错的,因为会变成系统管理员的名字,所以这里也要注意下。

  参考资料:

  https://blog.csdn.net/zhshulin/article/details/37956105------SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

  https://www.cnblogs.com/liaojie970/p/7058543.html------IDEA 中使用MyBatis-generator 自动生成MyBatis代码

  https://blog.csdn.net/zhwyj1019/article/details/79088073------spring boot 整合mybatis org.apache.ibatis.binding.BindingException: Invalid bound state

  还有也要看看斌哥附上的学习资料

  https://blog.csdn.net/litianxiang_kaola/article/details/79169148

  https://blog.csdn.net/bieleyang/article/details/77862042

  https://www.cnblogs.com/dongying/p/4142476.html

  https://www.cnblogs.com/1880su/p/7965461.html

ssm框架整合快速入门的更多相关文章

  1. SpringMVC详解及SSM框架整合项目

    SpringMVC ssm : mybatis + Spring + SpringMVC MVC三层架构 JavaSE:认真学习,老师带,入门快 JavaWeb:认真学习,老师带,入门快 SSM框架: ...

  2. SpringMVC--从理解SpringMVC执行流程到SSM框架整合

    前言 SpringMVC框架是SSM框架中继Spring另一个重要的框架,那么什么是SpringMVC,如何用SpringMVC来整合SSM框架呢?下面让我们详细的了解一下. 注:在学习SpringM ...

  3. Java基础-SSM之Spring快速入门篇

    Java基础-SSM之Spring快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java ...

  4. Java基础-SSM之mybatis快速入门篇

    Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...

  5. JAVAEE——宜立方商城01:电商行业的背景、商城系统架构、后台工程搭建、SSM框架整合

    1. 学习计划 第一天: 1.电商行业的背景. 2.宜立方商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建-后台工程 a) 使用maven搭建工程 b) 使用maven的tomcat插件启 ...

  6. SSM框架整合项目 :租房管理系统

    使用ssm框架整合,oracle数据库 框架: Spring SpringMVC MyBatis 导包: 1, spring 2, MyBatis 3, mybatis-spring 4, fastj ...

  7. 基于maven的ssm框架整合

    基于maven的ssm框架整合 第一步:通过maven建立一个web项目.                第二步:pom文件导入jar包                              (1 ...

  8. JavaWeb之ssm框架整合,用户角色权限管理

    SSM框架整合 Spring SpringMVC MyBatis 导包: 1, spring 2, MyBatis 3, mybatis-spring 4, fastjson 5, aspectwea ...

  9. SSM框架整合环境构建——基于Spring4和Mybatis3

    目录 环境 配置说明 所需jar包 配置db.properties 配置log4j.properties 配置spring.xml 配置mybatis-spring.xml 配置springmvc.x ...

随机推荐

  1. ipython notebook环境搭建

    默认已经装好python基本环境,再进行下面步骤: 1. 下载安装IPython:  c:>pip.exe install ipython 系统就会去网上寻找ipython的包, 进行下载及安装 ...

  2. go环境变量及build文件

    package main /* windows go环境设置: # 参考:https://blog.csdn.net/quicmous/article/details/80360126 GOROOT ...

  3. 二叉查找树、平衡二叉树、红黑树、B-/B+树性能对比

    转载:https://blog.csdn.net/z702143700/article/details/49079107 前言:BST.AVL.RBT.B-tree都是动态结构,查找时间基本都在O(l ...

  4. linux系统下git使用

    转载:http://www.cnblogs.com/bear2flymoon/p/4335364.html?ADUIN=563508762&ADSESSION=1430887070&A ...

  5. ogre 3d游戏开发框架指南

    ogre 3d游戏开发框架指南pdf 附光盘代码 http://www.ddooo.com/softdown/74228.htm OGRE3D游戏开发框架指南.pdf http://vdisk.wei ...

  6. HDU 6112 今夕何夕 蔡勒公式

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6112题意:中文题目 分析:关键点在与如何计算一个日期是星期几,这个可以通过蔡勒公式来计算.基姆拉尔森计 ...

  7. Jquery屏蔽浏览器的F1-F12快捷键,在IE,GOOGLE下测试均无问题

    在网上找了找,很多都是js实现的,东找西找,再加上自己的想法也勉强的完成了,直接看代码 <script type="text/javascript" src="Sc ...

  8. centos7.4关闭防火前

    systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firew ...

  9. 看懂sh脚本

    1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编写脚本完成时 ...

  10. 【C++】C++11的auto和decltype关键字

    转自: http://www.linuxidc.com/Linux/2015-02/113568.htm 今天要介绍C++11中两个重要的关键字,即auto和decltype.实际上在C++98中,已 ...