如何整合SSM(Spring,Spring MVC,Mybatis)三大框架的整合?你不会?我来手把手教你

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 然后选择这个就完全ok最后把Java里面填充一下,就是controller,service等等之类的东西,然后再写一个基本的的CRUD,看看有没有问题好了就到这儿,记得有问题及时私信

大家直接按着我的步骤来就行,就是有些东西复制过去之后需要大家自己改一下,不过都有注释,小问题


首先创建一个Maven项目,勾选骨架,选择第二个webapp,然后Next,给项目起名字,然后完成

4f7832dc73a69e7f57ded96285f56cb5_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDAxMDAy,size_16,color_FFFFFF,t_70.png

创好之后的结构应该是这样

cabc5a9b66cd39ef1e22061659f18f14_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDAxMDAy,size_16,color_FFFFFF,t_70.png

现在还缺个Java和resources文件夹,然后我们鼠标左键点击main,Alt+Ins,然后选择Directory,就会出来一个输入框,直接输入Java,然后再按上面的步骤把resources文件夹创好,创好之后的目录

2e420ff93736b58740ecfec029179b7c_20200923164438299.png

先把pom.xml的依赖文件导进去,这个是我所有的依赖包,并没有项目名啊啥的,仅仅只是依赖包


  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!-- 整合log4j -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.6.4</version>
    </dependency>
    <!-- Servlet/JSP/JSTL -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <!-- 整合mybatis框架 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.8</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.2.2</version>
    </dependency>
    <!-- mysql驱动 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.32</version>
    </dependency>
    <!-- druid连接池 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.6</version>
    </dependency>
    <!-- 整合spring框架(包含springmvc) 这个jar文件包含springmvc开发时的核心类, 同时也会将依赖的相关jar文件引入进来(spring的核心jar文件也包含在内) -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.1.3.RELEASE</version>
    </dependency>
    <!--这个jar文件包含对Spring对JDBC数据访问进行封装的所有类 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.1.3.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>4.1.3.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.0</version>
    </dependency>
  </dependencies>

然后再resources下边创一个mybatis文件夹,放mybatis的相关配置文件mybatis-config.xml以及mybatis-config2.xml


一:mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- MyBatis的全局配置文件 -->
<configuration>
  <!-- 整合mybatis与spring框架,将配置移动到spring的配置文件中 -->
</configuration>

二.mybatis-config2.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- MyBatis的全局配置文件 -->
<configuration>
  <!-- 1.配置开发环境 -->
  <environments default="develop">
    <!-- 这里可以配置多个环境,比如develop,test等 -->
    <environment id="develop">
      <!-- 1.1.配置事务管理方式:JDBC:将事务交给JDBC管理(推荐) -->
      <transactionManager type="JDBC"></transactionManager>
      <!-- 1.2.配置数据源,即连接池方式:JNDI/POOLED/UNPOOLED -->
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver" />
        <property name="url"
          value="jdbc:mysql://localhost:3306/liuyh?characterEncoding=utf-8" />
        <property name="username" value="root" />
        <property name="password" value="2002" />
      </dataSource>
    </environment>
  </environments>
  <!-- 2.加载Mapper配置文件,路径以斜杠间隔: xx/xx/../xx.xml -->
  <mappers>
    <mapper resource="mybatis/mapper/*.xml" />
  </mappers>
</configuration>

然后再resources下创一个Spring文件夹,放关于Spring的相关配置applicationContext.xml和Springmvc-config.xml


一:applicationContext.xml


<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
  xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  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
  http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
  <!-- 1.加载jdbc.properties文件的位置 -->
  <context:property-placeholder location="classpath:jdbc.properties"/>
  <!-- 2.配置druid连接池 ,id是固定值,class是druid连接池类的全路径 -->
  <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <!-- 配置连接数据库的基本信息 -->
    <property name="driverClassName" value="${db.driverClassName}"></property>
    <property name="url" value="${db.url}"></property>
    <property name="username" value="${db.username}"></property>
    <property name="password" value="${db.password}"></property>
  </bean>
  <!-- 3.整合spring和mybatis框架 
    将SqlSession等对象的创建交给Spring容器
    id值(sqlSessionFactory)是固定值
   -->
  <bean id="sqlSessionFactory" 
    class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 3.1.指定mybatis核心配置文件的位置 -->
    <property name="configLocation" 
        value="classpath:mybatis/mybatis-config.xml"></property>
    <!-- 3.2.配置连接池(数据源) ref指向连接池bean对象的id值 -->
    <property name="dataSource" ref="dataSource"></property>
    <!-- 3.3、扫描所有的 XxxMapper.xml映射文件,读取其中配置的SQL语句 -->
    <property name="mapperLocations" value="classpath:mybatis/mapper/*.xml"/>
  </bean>
  <!-- 4、定义mapper接口扫描器
  让框架扫描dao包下的所有接口,让框架为接口提供实现类(子类),并根据子类创建实例,我们只需要接受一下对象即可
   -->
  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!-- 扫描所有XxxMapper接口,将接口实例的创建交给spring容器 -->
    <property name="basePackage" 
      value="dao"/>
  </bean>
</beans>


二:Springmvc-config.xml

<?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:mvc="http://www.springframework.org/schema/mvc"
  xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="http://www.springframework.org/schema/mvc
     http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
     http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
     http://www.springframework.org/schema/context
             http://www.springframework.org/schema/context/spring-context-4.0.xsd">
  <!-- 1.配置前端控制器放行静态资源(html/css/js等,否则静态资源将无法访问) -->
  <mvc:default-servlet-handler/>
  <!-- 2.启用默认配置注解驱动,用于识别注解(比如@Controller) -->
  <mvc:annotation-driven></mvc:annotation-driven>
  <!-- 3.配置需要扫描的包:spring自动去扫描 base-package 下的类,
  如果扫描到的类上有 @Controller、@Service、@Component等注解,
  将会自动将类注册为bean 
  -->
  <context:component-scan base-package="controller">
  </context:component-scan>
  <context:component-scan base-package="service">
  </context:component-scan>
  <context:component-scan base-package="dao">
  </context:component-scan>
  <!-- 4.配置内部资源视图解析器
  prefix:配置路径前缀
  suffix:配置文件后缀
  id属性可以省略。如果省略。默认值就是当前类的类名。首字母小写
  -->
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/pages/"/>
  <property name="suffix" value=".html"/>
  </bean>
</beans>


还有就是直接把打印日志的文件和JDBC配置文件知己而放到resources下边


一:jdbc.properties

db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql:///liuyh?characterEncoding=utf-8
db.username=root
db.password=2002

二:log4j.properties

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t]  %m%n

然后配置Tomcat,点击如图所示的位置

48c3229417a65ff251ed1ade960f5005_20200923165530780.png

然后把相关配置配置一下,必须先点左上角那个+号,不然右边啥都没,然后选择local,然后把箭头的位置配置一下


a4949aa91786165c57333ac9a494b4b6_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDAxMDAy,size_16,color_FFFFFF,t_70.png


然后进行如下操作,先点1,在点2


4841c4c2e04e0cf3128fe1b5f5c46068_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MDAxMDAy,size_16,color_FFFFFF,t_70.png


操作完上面的步骤会出来一个框


af7009ad24cfabd6999a5c386180bbee_20200923170300787.png


然后选择这个就完全ok


最后把Java里面填充一下,就是controller,service等等之类的东西,然后再写一个基本的的CRUD,看看有没有问题


好了就到这儿,记得有问题及时私信

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
28天前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
123 29
|
1月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
64 2
|
1月前
|
SQL JavaScript Java
Spring Boot 3 整合 Mybatis-Plus 实现数据权限控制
本文介绍了如何在Spring Boot 3中整合MyBatis-Plus实现数据权限控制,通过使用MyBatis-Plus提供的`DataPermissionInterceptor`插件,在不破坏原有代码结构的基础上实现了细粒度的数据访问控制。文中详细描述了自定义注解`DataScope`的使用方法、`DataPermissionHandler`的具体实现逻辑,以及根据用户的不同角色和部门动态添加SQL片段来限制查询结果。此外,还展示了基于Spring Boot 3和Vue 3构建的前后端分离快速开发框架的实际应用案例,包括项目的核心功能模块如用户管理、角色管理等,并提供Gitee上的开源仓库
294 11
|
2月前
|
缓存 Java 数据库连接
深入探讨:Spring与MyBatis中的连接池与缓存机制
Spring 与 MyBatis 提供了强大的连接池和缓存机制,通过合理配置和使用这些机制,可以显著提升应用的性能和可扩展性。连接池通过复用数据库连接减少了连接创建和销毁的开销,而 MyBatis 的一级缓存和二级缓存则通过缓存查询结果减少了数据库访问次数。在实际应用中,结合具体的业务需求和系统架构,优化连接池和缓存的配置,是提升系统性能的重要手段。
163 4
|
2月前
|
SQL Java 数据库连接
spring和Mybatis的各种查询
Spring 和 MyBatis 的结合使得数据访问层的开发变得更加简洁和高效。通过以上各种查询操作的详细讲解,我们可以看到 MyBatis 在处理简单查询、条件查询、分页查询、联合查询和动态 SQL 查询方面的强大功能。熟练掌握这些操作,可以极大提升开发效率和代码质量。
185 3
|
关系型数据库 Java MySQL
SSM-Spring-20:Spring中事务基础
  ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------       事务 事务是什么?   我记得当初的百度百科上讲,事务是执行的最小逻辑单元,它们要么都执行,要么都不执行   (同生共死) 事务解决什么问题?   简单的提一个小例子,...
1280 0
|
5天前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
42 12
|
8天前
|
Java 应用服务中间件 Maven
SpringBoot项目打包成war包
通过上述步骤,我们成功地将一个Spring Boot应用打包成WAR文件,并部署到外部的Tomcat服务器中。这种方式适用于需要与传统Servlet容器集成的场景。
29 8
|
1月前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
292 17
Spring Boot 两种部署到服务器的方式
|
1月前
|
Dart 前端开发 JavaScript
springboot自动配置原理
Spring Boot 自动配置原理:通过 `@EnableAutoConfiguration` 开启自动配置,扫描 `META-INF/spring.factories` 下的配置类,省去手动编写配置文件。使用 `@ConditionalXXX` 注解判断配置类是否生效,导入对应的 starter 后自动配置生效。通过 `@EnableConfigurationProperties` 加载配置属性,默认值与配置文件中的值结合使用。总结来说,Spring Boot 通过这些机制简化了开发配置流程,提升了开发效率。
76 17
springboot自动配置原理