zoukankan      html  css  js  c++  java
  • SpringBoot整合ssm案例中关于查询

    这里我写查全部和根据条件查询

    这里我们引用的依赖和ssm也有区别

    <?xml version="1.0" encoding="UTF-8"?>
    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
       <!--parent替换为SpringBoot模块中的parent-->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.3.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>springboot-02</artifactId>
        <packaging>war</packaging>
    
        <name>springboot-02 Maven Webapp</name>
        <!-- FIXME change it to the project's website -->
        <url>http://www.example.com</url>
    
        <!--同样是SpringBoot的-->
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </dependency>
            <!-- 核心依赖 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <!-- 可以实现热部署,在IDEA上实现热部署还需一些额外的配置,请查阅资料 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional>
                <scope>runtime</scope>
            </dependency>
    
            <!-- JDBC for mysql -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <!-- mybatis -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.1.1</version>
            </dependency>
    
            <!-- alibaba的druid数据库连接池 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.0.11</version>
            </dependency>
    
            <!-- 分页插件 -->
            <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
            <!-- 分页插件 -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>1.2.3</version>
            </dependency>
            <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>
        </dependencies>
    
        <build>
            <finalName>springboot-02</finalName>
        </build>
    </project>

    首先从实体类开始

    package cn.studio.entity;
    
    import cn.studio.util.JsonDateSerializer;
    import com.fasterxml.jackson.annotation.JsonFormat;
    import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    import org.springframework.format.annotation.DateTimeFormat;
    
    import java.util.Date;
    
    /**
     * Created by mycom on 2018/6/23.
     */
    public class AirModel {
        private Integer id;
        private String district;
        @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
        @JsonSerialize(using = JsonDateSerializer.class)
        private Date monitorTime;
        private Integer pm10;
        private Integer pm25;
        private String monitoringStation;
        private Date createDate;
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getDistrict() {
            return district;
        }
    
        public void setDistrict(String district) {
            this.district = district;
        }
    
        public Date getMonitorTime() {
            return monitorTime;
        }
    
        public void setMonitorTime(Date monitorTime) {
            this.monitorTime = monitorTime;
        }
    
        public Integer getPm10() {
            return pm10;
        }
    
        public void setPm10(Integer pm10) {
            this.pm10 = pm10;
        }
    
        public Integer getPm25() {
            return pm25;
        }
    
        public void setPm25(Integer pm25) {
            this.pm25 = pm25;
        }
    
        public String getMonitoringStation() {
            return monitoringStation;
        }
    
        public void setMonitoringStation(String monitoringStation) {
            this.monitoringStation = monitoringStation;
        }
    
        public Date getCreateDate() {
            return createDate;
        }
    
        public void setCreateDate(Date createDate) {
            this.createDate = createDate;
        }
    }

    然后是DAO

    import cn.studio.entity.AirModel;
    
    import java.util.List;
    
    /**
     * Created by mycom on 2018/6/23.
     */
    public interface IAirDAO {
        //查询所有
        public List<AirModel> findAll();
        //根据条件查询
        public List<AirModel> selectBydistrict(AirModel airModel);

    上一篇博客写过这里对应的xml文件的配置位置有所变动

    配置中

     <!--查询所有-->
        <select id="findAll" resultType="AirModel">
            select * from air_quality_index
        </select>
    
        <!--根据条件查询-->
        <select id="selectBydistrict" resultType="AirModel">
            select * from air_quality_index
            <where>
                <if test='district!="0"'>
                    AND district=#{district}
                </if>
            </where>
        </select>

    service层中和之前ssm的一样

    在service的实现类中要注入dao并且要实现方法重写

    在controller中

    package cn.studio.controller;
    
    import cn.studio.entity.AirModel;
    import cn.studio.service.IAirService;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import javax.annotation.Resource;
    import java.util.List;
    
    /**
     * Created by mycom on 2018/6/23.
     */
    @Controller
    public class AirController {
    
        @Resource(name="airService")
        private IAirService airService;
    
        @RequestMapping("goHome")
        public String goHome(){
            return "index";
        }
    
    @RequestMapping("/findAll")
        @ResponseBody
        public Object findAll(Model model){
            List<AirModel> all = airService.findAll();
            model.addAttribute("allAir",all);
            return all;
        }
    
        @RequestMapping("/findBydistrict")
        @ResponseBody
        public Object findBydistrict(AirModel airModel){
            List<AirModel> all = airService.selectBydistrict(airModel);
            return all;
        }

    在页面上(忽略删除,删除不在这篇博客上详细介绍)

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script type="text/javascript" th:src="@{/js/jquery-1.8.3.min.js}"></script>
        <script type="text/javascript">
            //根据条件查询
            function myselect() {
                var district=$("#ourSelect").val();
                $.ajax({
                    url: "/findBydistrict",
                    data:{
                        "district":district
                    },
                    type:"POST",
                    success: function (data) {
                        //清空数据
                        $("#list-content").html('');
                        //追加数据
                        $.each(data, function (i, dom) {
                            //一个dom就是一个新闻对象
                            $("#list-content").append("<tr><td>"+ dom.id + "</td><td><a onclick='update("+dom.id+")'>"+dom.district+"</a>" + "</td><td>" + dom.monitorTime + "</td><td>" + dom.pm10 + "</td><td >" + dom.pm25 + "</td><td>"+
                                dom.monitoringStation+"</td><td><a onclick='deleteair("+dom.id+")'>删除</a></td></tr>");
                        });
                        $("tr:odd").css("background","pink");
                    }
                })
            }
    
            function deleteair(id) {
                alert(id)
                $.ajax({
                    url: "/deleteAir",
                    data:{
                        "id":id
                    },
                    type:"POST",
                    success: function (data) {
                        $("[name=id]").val(data.id);
                        $("[name=district]").val(data.district);
                        $("[name=monitorTime]").val(data.monitorTime);
                        $("[name=pm10]").val(data.pm10);
                        $("[name=pm25]").val(data.pm25);
                        $("[name=monitoringStation]").val(data.monitoringStation);
                    }
                })
            }
    
    
            load();  //默认初始化
            /*点击查询的触发事件*/
            function  load() {
                $.ajax({
                    url: "/findAll",
                    type: "post",
                    success: function (data) {
                        //清空数据
                        $("#list-content").html('');
                        //追加数据
                        $.each(data, function (i, dom) {
                            //一个dom就是一个新闻对象
                            $("#list-content").append("<tr><td>"+ dom.id + "</td><td><a onclick='update("+dom.id+")'>"+dom.district+"</a>" + "</td><td>" + dom.monitorTime + "</td><td>" + dom.pm10 + "</td><td >" + dom.pm25 + "</td><td>"+
                                dom.monitoringStation+"</td><td><a onclick='deleteair("+dom.id+")'>删除</a></td></tr>");
                        });
                        $("tr:odd").css("background","pink");
                    }
                });
            };
        </script>
    </head>
    <body>
    <table  width="70%" border="1" align="center" id="list">
        <caption><h1 style="height: 50px;line-height5:0px;border: 1px">空气质量检测信息库</h1>
            按区域查询 <select name="district" id="ourSelect">
                <option value="0">不限</option>
                <option value="西城区">西城区</option>
                <option value="东城区">东城区</option>
                <option value="海淀区">海淀区</option>
                <option value="丰台区">丰台区</option>
            </select>
            <input type="button" onclick="myselect()" value="查找"/>
            <a href="/goAddPage">添加空气质量信息</a>
        </caption>
        <thead>
        <tr class="t_head">
            <th>序号</th>
            <th>区域</th>
            <th>检测时间</th>
            <th>PM10数据</th>
            <th>PM2.5数据局</th>
            <th>监测站</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody id="list-content">
        </tbody>
    </table>
    </body>
    </html>

     这里在补充一点在resources下

    标红框的这两个目录分别是存放css,js和html文件的

    这里还有一个application.yml文件

    server:
      port: 8080
    spring:
        thymeleaf:
            prefix: classpath:/templates/
            mode: HTML5
            cache: false
        datasource:
            name: test
            url: jdbc:mysql://localhost:3306/exam
            username: root
            password:
            type: com.alibaba.druid.pool.DruidDataSource
            driver-class-name: com.mysql.jdbc.Driver
            filters: stat
            maxActive: 20
            initialSize: 1
            maxWait: 60000
            minIdle: 1
            timeBetweenEvictionRunsMillis: 60000
            minEvictableIdleTimeMillis: 300000
            validationQuery: select 'x'
            testWhileIdle: true
            testOnBorrow: false
            testOnReturn: false
            poolPreparedStatements: true
            maxOpenPreparedStatements: 20
    mybatis:
    //配置mapping下的xml文件路径
      mapper-locations: classpath:mapping/*.xml
    //配置别名
      type-aliases-package: cn.studio.entity
  • 相关阅读:
    UU跑腿
    Java基础之接口与抽象类的区别
    经典面试题:Redis为什么这么快?
    isBlank与isEmpty
    阅读联机API文档
    从文本中取出链接地址 并检测链接地址能否打开
    2019-01-19=树莓派学习总结
    单片机知识点
    Linux 编程题
    嵌入式基础知识
  • 原文地址:https://www.cnblogs.com/my-123/p/9219630.html
Copyright © 2011-2022 走看看