Springboot整合SSM框架详细流程(附:demo查询表中所有数据)

Springboot整合SSM框架详细流程(附:demo查询表中所有数据)

1、Springboot简单介绍
在SpringBoot框架出现之前,Java EE开发最常用的框架是Spring,该框架虽然是轻量级的,但它的配置却是重量级的。SpringBoot是在原有Spring框架的基础上通过注解的方式进一步简化了Spring框架的使用。

我们一般把Spring Boot称为搭建程序的脚手架, 或者说是便捷搭建基于Spring的工程脚手架。其最主要作用就是帮助开发人员快速的构建庞大的spring项目,并且尽可能的减少一切xml配置。

2、SpringMVC注解简单介绍

注解
作用
@Controller Controller 层注解,主要负责前端控制器发来的请求,并可以返回响应数据给Thymeleaf
@Service Service层注解,创建service实现类对象,并存进spring容器中
@Repository Mapper层注解,创建mapper实现类对象,存入spring容器中
@ResponseBody 该方法的返回的结果直接写入HTTP响应正文中
@RequestMapping 来处理请求地址映射,相当于servlet中的@WebServlet
@Autowired 可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作

3、Mybatis简单介绍
Mybatis是一个优秀的持久层的框架,它对jdbc的操作数据库过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理如加载驱动,创建Connection,创建statement,结果集封装等操作。

4、yml简单介绍
YML文件格式是Spring Boot支持的一种JSON文件格式,相较于传统的Properties配置文件,YML文件以数据为核心,是一种更为直观且容易被识别的数据序列化格式。

application.yml配置文件的工作原理和application.properties是一样的,只不过yml格式配置文件看起来更简洁一些。

application.yml文件使用 “key:(空格)value”格式配置属性,使用缩进控制层级关系。


一、使用IDEA创建工程

在这里插入图片描述

  • 点击next

在这里插入图片描述

  • 点击next
    在这里插入图片描述
  • 选择需要的依赖,点击next,然后检查模块名和模块路径,然后点击finish完成工程创建,创建好的工程目录结构如下:
    在这里插入图片描述

二、Demo:查询表中所有元素

1.先在java文件下的包结构中建立不同的层级结构,建好的层级结构如下:
在这里插入图片描述

2.在不同的层级结构目录中创建对应的功能实现代码,并加上注解

  • 我们先简单配置一下配置文件application.yml
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql:///数据库名
    username: 用户名
    password: 密码
  thymeleaf:
    cache: false #关闭thymeleaf缓存

# mybatis配置
mybatis:
  #输出sql
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

  • 检查一下依赖是否完善
	<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
  • 在domain包中创建实体类People
@Data //简化实体类结构
public class People {
    private Integer id;
    private String name;
    private String sex;
    private Integer age;
}
  • 在mapper包中创建接口PeopleMapper,mapper层也相当于Dao层
@Repository
public interface PeopleMapper {
    //查询所有人员数据
    @Select("select * from people")
    List<People> selectAll();
}
  • 在service包中创建对应的服务类
public interface IPeopleService {
    List<People> selectAll();
}
@Service
public class PeopleServiceImpl implements IPeopleService {

    @Autowired
    private PeopleMapper peopleMapper;

    @Override
    public List<People> selectAll() {
        return peopleMapper.selectAll();
    }
}
  • 在controller包中创建对应控制类
@Controller
@RequestMapping("/front") //声明映射路径
public class PeopleController {

    @Autowired
    private IPeopleService peopleService;
    
    @RequestMapping("/index")//声明映射路径
    public String resData(Model model){
        //查询数据
        List<People> peopleList=peopleService.selectAll();
        
        //将数据集合加入model中
        model.addAttribute("peopleList",peopleList);
        
        //使用Thymeleaf模板渲染index页面
        return "index";
    }
}
  • 在templates目录下创建index.html,并声明使用Thymeleaf模板
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table border="1" cellpadding="15" cellspacing="0" bgcolor="#7fff00">
    <tr>
        <td>编号</td>
        <td>姓名</td>
        <td>性别</td>
        <td>年龄</td>
    <!--使用Thymeleaf标签,并取出model中的数据-->
    <tr th:each="pl:${peopleList}" align="center">
        <td th:text="${pl.getId()}"></td>
        <td th:text="${pl.getName()}"></td>
        <td th:text="${pl.getSex()}"></td>
        <td th:text="${pl.getAge()}"></td>
    </tr>
</table>
</body>
</html>
  • 做到这里,已经大功告成,现在是时候运行程序,打开浏览器输入我们写好的请求映射地址,看一下我们实现的效果了。。。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wrlovesmile/article/details/107722840