• ssm框架—实现数据库中数据表的查询(扩展:layui实现单表的增删改查)


    springMVC注解的配置方式+一对多+spring整合mybatis=实现数据库中数据表的查询

    运行结果如下:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    思路/步骤:

    在这里插入图片描述

    构建ssm框架步骤:

    构建ssm框架步骤:
    1.建库建表
    2.创建java maven web项目
    3.在pom.xml中配置相关jar包
       web,spring-context,jdbc,mybatis,mybatis-spring,mysql,lombok
    4.创建实体包实体类
    5.创建mapper接口
    6.创建业务接口,业务实现
       a.业务实现类上加注解
       b.业务实现类中注入mapper对象
    7.创建controller包,类
      a.controller类上加注解
      b.注入service对象
      c.配置请求地址映射对应方法 (@RequestMapping)
    
    8.在resources下创建mybatis相关配置
       a.db.properties数据属性配置文件
       b.mybatis主配置文件,配置日志和下划线小驼峰映射,其他插件...
       c.mapper配置文件
    9.在resources下创建spring-mybatis配置文件
      a.配置扫描业务包
      b.配置数据库属性文件
      c.配置连接池
      d.配置mybatis相关对象(SqlSessionFactory)
      e.配置mapper接口扫描
    
    10.在resources下创建spring-mvc配置文件
       a.配置扫描controller
       b.配置注解驱动
       c.配置视图解析器
       d.配置default-servlet处理其他默认请求
    
    11.配置web.xml内容
       a.配置spring监听器,构建spring容器对象
          1): 配置监听器要加载的spring配置文件
       b.配置springMVC的前端控制器,使用springMVC处理请求
          1):配置springMVC要使用的配置文件
       c.配置编码过滤器
      
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    代码整体布局:

    在这里插入图片描述

    (根据构建ssm框架步骤)代码如下:

    创建数据库/表:

    #创建分类表
    create table category
    (
    	category_id int primary key,
    	category_name varchar(50) not null
    );
    
    select * from category;
    
    insert into category
    (category_id ,category_name)
    VALUES
    (1,'食品'),
    (2,'饮品'),
    (3,'日用品');
    
    create table goods
    (
    	goods_id int primary key auto_increment,
    	goods_name varchar(200) not null,
    	price decimal(5,1) not null,
    	produce_date date not null,
    	address varchar(200) default '郑州',
    	category_id int
    );
    
    
    select * from goods;
    
    insert into goods
    (goods_name,price,produce_date,address,category_id)
    values
    ('面包',2.5,'2018-01-01','郑州',1),
    ('红茶',5,'2015-02-02','武汉',2),
    ('鸡蛋',1,'2021-02-02','洛阳',1),
    ('绿茶',2.5,'2005-02-02','漯河',2),
    ('咖啡',20,'2019-02-02','广州',2),
    ('洗衣粉',18,'2001-02-02','广州',3),
    ('香皂',4,'2001-02-02','武汉',3),
    ('奶茶',9,'2022-02-02','郑州',2),
    ('饺子',32,'2022-03-02','郑州',1),
    ('辣条',0.5,'2001-02-08','洛阳',1);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    pom.xml:

    
    
    
      4.0.0
    
      org.example
      spring_0824_KTLX2
      1.0-SNAPSHOT
      war
    
      spring_0824_KTLX2 Maven Webapp
      
      http://www.example.com
    
      
        8
        8
        4.0.1
        2.2
        1.2
        5.3.14
        1.4
        3.4.6
        1.3.3
        8.0.11
        1.2.78
      
    
      
        
        
        
          javax.servlet
          javax.servlet-api
          ${servlet.version}
          
          provided
        
        
          javax.servlet.jsp
          jsp-api
          ${jsp.version}
          
          provided
        
        
          jstl
          jstl
          ${jstl.version}
        
        
        
          org.springframework
          spring-webmvc
          ${spring.version}
        
        
          org.springframework
          spring-context
          ${spring.version}
        
        
        
          org.springframework
          spring-jdbc
          ${spring.version}
        
        
        
          commons-dbcp
          commons-dbcp
          ${commons-dbcp.version}
        
        
        
          org.mybatis
          mybatis-spring
          ${mybatis-spring.version}
        
        
        
          org.mybatis
          mybatis
          ${mybatis.version}
        
        
        
          com.github.pagehelper
          pagehelper
          5.1.0
        
        
        
          mysql
          mysql-connector-java
          ${mysql-connector-java.version}
        
        
        
          com.github.abel533
          mapper
          3.0.1
        
        
        
          com.fasterxml.jackson.core
          jackson-databind
          2.13.2.2
        
        
        
          com.alibaba
          fastjson
          ${fastjson.version}
        
        
        
          org.projectlombok
          lombok
          1.18.22
        
        
        
          junit
          junit
          4.13
          
        
      
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134

    Category:

    package com.aaa.demo.entity;
    
    import lombok.Data;
    
    @Data
    public class Category {
        private Integer categoryId;
        private String categoryName;
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Goods:

    package com.aaa.demo.entity;
    
    import lombok.Data;
    
    import java.util.Date;
    
    @Data
    public class Goods {
        private Integer goodsId;
        private String goodsName;
        private Double price;
        private Date produce_date;
        private String address;
        private Category category; //注意
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    GoodsMapper:

    package com.aaa.demo.mapper;
    
    import com.aaa.demo.entity.Goods;
    
    import java.util.List;
    
    public interface GoodsMapper {
        List listAll();
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    GoodsMapper.xml:

    
    
    
    
        
        
            
            
            
        
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    IGoodsService:

    package com.aaa.demo.service;
    
    import com.aaa.demo.entity.Goods;
    
    import java.util.List;
    
    public interface IGoodsService {
        List listAll();
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    GoodsServiceImpl :

    package com.aaa.demo.service.impl;
    
    import com.aaa.demo.entity.Goods;
    import com.aaa.demo.mapper.GoodsMapper;
    import com.aaa.demo.service.IGoodsService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service
    public class GoodsServiceImpl implements IGoodsService {
        @Autowired
        private GoodsMapper goodsMapper;
    
        @Override
        public List listAll() {
            return goodsMapper.listAll();
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    GoodsController:

    package com.aaa.demo.controller;
    
    import com.aaa.demo.entity.Goods;
    import com.aaa.demo.service.IGoodsService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import javax.annotation.Resource;
    import java.util.List;
    
    @Controller
    public class GoodsController {
        //@Resource
        @Autowired
        private IGoodsService iGoodsService;
    
        @RequestMapping("/list")
        public String list(Model model){
            //使用业务层对象查询数据
            List goodsList=iGoodsService.listAll();
            //使用model存储数据,springMVC会自动把数据带到页面
            model.addAttribute("goodsList",goodsList);
            //返回视图名字,springMVC会自动用转发方式调到该页面
            return "goodsList";
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    db.properties:

    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/70813_db?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8&allowPublicKeyRetrieval=true
    jdbc.username=root
    jdbc.password=123456
    
    • 1
    • 2
    • 3
    • 4

    mybatis-config.xml:

    
    
    
        
            
            
            
            
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    spring-mybatis.xml:

    
    
    
        
        
    
        
        
        
        
            
            
            
            
            
        
    
        
        
            
            
            
            
            
            
            
            
        
        
        
            
            
            
            
        
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    spring-mvc.xml:

    
    
    
        
        
        
        
    
        
        
            
            
            
            
        
    
        
        
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    web.xml:

    
    
    
      
      
        org.springframework.web.context.ContextLoaderListener
      
      
      
        contextConfigLocation
        classpath:spring-mybatis.xml
      
    
    
      
      
        springMVC
        org.springframework.web.servlet.DispatcherServlet
        
          
          contextConfigLocation
          classpath:spring-mvc.xml
        
      
      
        springMVC
        
        
        
        /
      
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    goodsList.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: 33154
      Date: 2022/8/24
      Time: 11:20
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
        ${goodsList}
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    关键点参考:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    // A code block
    var foo = 'bar';
    
    • 1
    • 2

    // A code block
    var foo = 'bar';
    
    • 1
    • 2
  • 相关阅读:
    kubeadm安装k8s集群
    nvm安装及使用(mac)
    【矩阵】240. 搜索二维矩阵 II【中等】
    FreeSQL 基本使用
    SpringBoot:返回响应,统一封装
    MIT6.S081 2021 locks
    【算法系列篇】分治-快排
    Java八股文(K8S)
    双向电平电压转换器TXS0102DCTR应用电路设计
    Simple-BEV: What Really Matters for Multi-Sensor BEV Perception? 论文笔记
  • 原文地址:https://blog.csdn.net/Liu_wen_wen/article/details/126506707