热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot2.x系列教程19Web开发05之XML方式实现SSM整合

SpringBoot系列教程19--Web开发05之XML方式实现SSM整合作者:一一哥注意:本系列教程案例继续在之前的基础上进行编写࿰

SpringBoot系列教程19--Web开发05之XML方式实现SSM整合

作者:一一哥

注意:

本系列教程案例继续在之前的基础上进行编写!

Spring Boot可以帮助我们快速搭建一个SSM框架环境,那么该怎么具体实现SSM整合呢?

以下给大家介绍在SpringBoot项目中进行SSM整合的两种方式:

  • 1️⃣. XML方式;
  • 2️⃣. 注解两种方式.

一. 在SpringBoot中以XML方式进行SSM整合


1. 创建一个新的module--demo08

2.将项目改造成Spring Boot项目

在项目中添加父依赖以及编译插件。

org.springframework.bootspring-boot-starter-parent2.2.5.RELEASE
org.springframework.bootspring-boot-maven-plugin

3. 在pom文件中添加相关依赖

org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-jdbcmysqlmysql-connector-java5.1.46org.mybatis.spring.bootmybatis-spring-boot-starter1.3.1com.github.pagehelperpagehelper-spring-boot-starter1.2.3org.projectlomboklombok

4.在该pom.xml文件中添加识别xml文件的配置

src/main/java**/*.xml

5. 配置application.properties

我们可以创建出一个application.properties文件,然后主要是设置数据源和mybaits属性。

#数据源配置
spring.datasource.username=root
spring.datasource.password=syc
spring.datasource.url=jdbc:mysql://localhost:3306/db1?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
spring.datasource.driver-class-name=com.mysql.jdbc.Driver#mybatis配置
mybatis.type-aliases-package=com.yyg.boot.domain
mybatis.mapper-locations=classpath:com/yyg/boot/domain/*.xml

6. 创建数据库以及student表

#数据库脚本
CREATE TABLE student (id INTEGER(20) PRIMARY KEY AUTO_INCREMENT NOT NULL,NAME VARCHAR(30),sex VARCHAR(4));#添加数据语句
INSERT INTO student (NAME,sex) VALUES('三胖','男');
INSERT INTO student (NAME,sex) VALUES('特没谱','女');

7. 创建pojo实体对象

创建出“com.yyg.boot.domain”包,在该包下面创建一个Student实体类!

package com.syc.boot.domain;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {private Integer id;private String name;private String sex;}

8.编写StudentMapper接口类

创建一个“com.yyg.boot.mapper”包,在该包下面创建出StudentMapper接口。

package com.yyg.boot.mapper;import com.yyg.boot.domain.Student;
import org.apache.ibatis.annotations.Param;import java.util.List;public interface StudentMapper {List getAll();Student getById(@Param("id") int id);
}

9.编写对应的StudentMapper.xml文件

我们编写一个StudentMapper.xml文件,存放在“com.yyg.boot.mapper”包里面。




10.编写service及其实现类

创建一个“com.yyg.boot.service”的包及其子包“impl”。

10.1 StudentService接口

在service包下面创建StudentService接口。

package com.yyg.boot.service;import com.yyg.boot.domain.Student;import java.util.List;public interface StudentService {/*** 分页参数*/List getAll(Integer pageNum, Integer pageSize);Student get(Integer id);}

10.2 StudentServiceImpl实现类

在impl包下面,创建StudentServiceImpl实现类。

package com.yyg.boot.service.impl;import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yyg.boot.domain.Student;
import com.yyg.boot.mapper.StudentMapper;
import com.yyg.boot.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class StudentServiceImpl implements StudentService {&#64;Autowiredprivate StudentMapper studentMapper;&#64;Overridepublic List getAll(Integer pageNum, Integer pageSize) {//在查询之前设置分页,利用Mybatis的分页插件实现分页PageHelper.startPage(pageNum, pageSize);List list &#61; studentMapper.getAll();PageInfo info &#61; new PageInfo<>(list);return info.getList();}&#64;Overridepublic Student get(Integer id) {return studentMapper.getById(id);}}

11.编写Controller类

创建出一个“com.yyg.boot.web”的包&#xff0c;在该包下面创建一个Controller类。

package com.syc.boot.web;
import com.syc.boot.domain.Student;
import com.syc.boot.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;&#64;RestController
&#64;RequestMapping("/stu")
public class StudentController {&#64;Autowiredprivate StudentService studentService;&#64;RequestMapping(value &#61; "/find", method &#61; RequestMethod.GET)public List find(&#64;RequestParam(name &#61; "pageNum",required &#61; false,defaultValue &#61; "1") Integer pageNum,&#64;RequestParam(name&#61;"pageSize" ,required &#61; false,defaultValue &#61; "20") Integer pageSize) {return studentService.getAll(pageNum,pageSize);}&#64;RequestMapping(value &#61; "/{id}", method &#61; RequestMethod.GET)public Student get(&#64;PathVariable(name &#61; "id") Integer id) {return studentService.get(id);}
}

12. 编写程序入口

在“com.yyg.boot”包的根目录下&#xff0c;创建程序员入口类&#xff01;

package com.yyg.boot;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** 以XML方式整合SSM.* MapperScan:扫描Mybatis接口文件*/
&#64;MapperScan("com.yyg.boot.mapper")
&#64;SpringBootApplication
public class SSMApplication {public static void main(String[] args) {SpringApplication.run(SSMApplication.class, args);}}

注意:在应用程序入口类上配置&#64;MapperScan扫描mapper接口文件所在包!


整个项目目录结构

13.测试ssm整合及分页效果

启动项目&#xff0c;进行测试。

13.1 不分页查询全部

13.2 根据id查询某个对象&#xfffc;

13.3 分页查询


推荐阅读
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • java和servlet交互,JSP与Servlet之间的交互,传值
    一.Servlet首先要明白一点,servlet需要容器的支持才能够运行,如Tomcat、jetty达到servlet的请求,需要ServletRequest对象和S ... [详细]
  • Spring MVC定制用户登录注销实现示例
    这篇文章描述了如何实现对SpringMVCWeb应用程序的自定义用户访问(登录注销)。作为前提,建议读者阅读这篇文章,其中介 ... [详细]
  • boot集成的邮箱 spring_spring boot集成mybatis(2) – 使用pagehelper实现分页
    章节SpringBoot介绍SpringBoot开发环境搭建(Eclipse)SpringBootHelloWorld(restful接口)例子spri ... [详细]
  • 实战基于SpringBoot2的WebFlux和mLab搭建反应式Web
    SpringFramework5带来了新的ReactiveStack非阻塞式Web框架:SpringWebFlux。作为与SpringMVC并行使用的Web框架,SpringWeb ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • 我将SpringMVC升级到Spring3.2.5.我的一些剩余调用即使存在,也会返回无法识别的字段异常.这是错误.Resolvingexceptionfrom ... [详细]
  • MVC下Log4Net的配置和使用
    MVC下Log4Net的配置和使用对于网站来讲,我们不能将异常信息显示给用户,Log4Net用来记录日志,可以将程序运行过程中的信息输出到文件,数据库中等地方,可以通过日志查看系统的运行过程,发现系 ... [详细]
  • Spring Boot基础教程 ( 五 ) :构建 RESTful API 与单元测试
    首先,回顾并详细说明一下在下面我们尝试使用SpringMVC来实现一组对User对象操作的RESTf ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有