SpringMVC+ElementUl+Vue实现增、删、改、查、多条件搜索、分页功能(前端后端分离)

2023-11-17

使用vue+element+springMVC来实现增、删、改、查、搜索、分页这几个功能!

										对于今天老师留的作业小张与小红对话:
  • 一班小红同学对二班小张同学说:今天我们班里学了ElementUl组件可是我学没明白,老师还留了个基于vue+ElementUI+SpringMVC实现增删改查的作业可是我不会,明天又老师被挨批了 哭哭哭…。
  • 小张同学摸着小红他头说:没事没事别哭,我把我这一套教给你,以后每次留这类似作业就够你用的了,非常易上手
  • 小红擦拉擦眼泪说:怎么用
  • 小张以说:代码都给你整理好了,直接复制就可以用功能一样不差,你可以去试试
  • 小红说:好,行那我赶紧回家去试试吧!

----------问这次小红的作业能不能写完?能不能不被老师挨批?而且功能一样不差?


1、动态演示(GIF)

在这里插入图片描述

2、项目结构

在这里插入图片描述

3、数据表

CREATE TABLE `rikao_t_goods` (
  `noid` int(11) NOT NULL AUTO_INCREMENT,
  `goods_name` varchar(32) NOT NULL COMMENT '商品名称',
  `price` decimal(10,2) DEFAULT NULL COMMENT '价格',
  `weight` int(11) NOT NULL DEFAULT '0' COMMENT '重量',
  `buy_date` datetime DEFAULT NULL COMMENT '购买时间',
  PRIMARY KEY (`noid`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4

一、前端代码

(一)添加.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <!-- import CSS -->
  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  <script src="axios.min.js"></script>
  <script src="vuejs-2.5.16.js"></script>
</head>
<body>
  <h1>新增商品</h1>
  <div id="app">
      <p>
        <el-input placeholder="请输入商品名称"   v-model="gdzc.goods_name"  clearable :style="{width:'400px'}"></el-input>
      </p>
      <p>
        <el-input placeholder="请输入商品名称金额"  v-model="gdzc.price"  clearable :style="{width:'400px'}"></el-input>
      </p>
      <p>
        <el-input placeholder="请输入商品重量"  v-model="gdzc.weight"  clearable :style="{width:'400px'}"></el-input>
      </p>
      <p>
        <!-- <el-date-picker v-model="gdzc.buy_date" align="right" type="Date" placeholder="选择日期"  :picker-options="{pickerOptions}"></el-date-picker> </el-date-picker> -->
        <el-date-picker
        :style="{width:'400px'}"
        v-model="gdzc.buy_date"
            type="datetime"
            format="yyyy-MM-dd hh:mm"
            value-format="yyyy-MM-dd hh:mm"
            placeholder="请选择日期时间">
    </el-date-picker>
    </p>
      <p>
        <el-row>
            <el-button type="primary" @click="tianjia()" plain>添加</el-button>
            <el-button type="info" @click="liebiao()" plain>返回列表</el-button>
        </el-row>
      </p>
   
  </el-input>
  </div>
</body>
  <!-- import Vue before Element -->
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
  <!-- import JavaScript -->
  <script src="https://unpkg.com/element-ui/lib/index.js"></script>
  <script>
    new Vue({
      el: '#app',
      data() {
        return {
            gdzc:{},
          
          pickerOptions: {
            disabledDate(time) {
                return time.getTime() > Date.now();
            },
            shortcuts: [{
                text: '今天',
                onClick(picker) {
                picker.$emit('pick', new Date());
                }
            }, {
                text: '昨天',
                onClick(picker) {
                const date = new Date();
                date.setTime(date.getTime() - 3600 * 1000 * 24);
                picker.$emit('pick', date);
                }
            }, {
                text: '一周前',
                onClick(picker) {
                const date = new Date();
                date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
                picker.$emit('pick', date);
                }
            }]
            },
        };
      },

      methods:{
        
             //添加
            tianjia:function(){
                let url = "http://localhost:8080/rikao13_goods/addGDZCPost.do";
                let data1 = this.gdzc;
                let option = {Headers:{'Content-type':'application/json'}}
                axios.post(url,data1,option).then((rel)=>{
                    if(rel.data.code==0){
                        this.tishi=rel.data.msg;
                        location.href="listGDZC.html";
                    };

                });
            },

            //返回列表
            liebiao:function(){
                location.href="listGDZC.html"
            }
        }
    })
  </script>
</html>

(二)搜索、列表、修改、分页.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <!-- import CSS -->
  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  <script src="axios.min.js"></script>
    <script src="vuejs-2.5.16.js"></script>
</head>
<body>
  <div id="app">

    <el-row style="height:400px;">
        <template>
            
            <el-button type="primary" @click="tianjia()" plain>返回添加</el-button>
            <el-input placeholder="商品名称"   v-model="goods_name"  clearable :style="{width:'200px'}"></el-input>
            <el-button type="primary" icon="el-icon-search" @click="listGDZC1()">搜索</el-button>

            <!-- 列表 -->
            <el-table :data="listGDZC1Show":class="{ 'alt': listGDZC.index%2==1}" style="width: 99%">
                <el-table-column  type="index" label="序号"  width="180"></el-table-column>
                <el-table-column  prop="goods_name" label="商品名称"  width="180"></el-table-column>
                <el-table-column  prop="price" label="商品金额"></el-table-column>
                <el-table-column  prop="weight" label="重量"></el-table-column>
                <el-table-column  prop="buy_date" label="购买时间"></el-table-column>
                <el-table-column  label="操作">
                    <template slot-scope="scope">
                        <!-- 修改按钮 -->
                        <el-button type="text" @click="dialogFormVisible = true">
                            <el-button type="primary"  icon="el-icon-edit" circle  @click="selectNoid(scope.row)"></el-button>
                        </el-button>
                            <el-dialog title="编辑商品" :visible.sync="dialogFormVisible">
                                <el-form :model="form">
                                    <p>
                                        编辑商品名称
                                        <input type="hidden" v-model="gdzc.noid">
                                        <el-input placeholder="请输入商品名称"  v-model="gdzc.goods_name"    clearable :style="{width:'400px'}"></el-input>
                                      </p>
                                      <p>
                                        编辑商品金额
                                        <el-input placeholder="请输入商品金额" v-model="gdzc.price" clearable :style="{width:'400px'}"></el-input>
                                      </p>
                                      <p>
                                        编辑商品重量
                                        <el-input placeholder="请输入重量" v-model="gdzc.weight"  clearable :style="{width:'400px'}"></el-input>
                                      </p>
                                      <p>
                                        编辑商品时间
                                        <el-date-picker
                                        v-model="gdzc.buy_date"
                                            :style="{width:'400px'}"
                                            type="datetime"
                                            format="yyyy-MM-dd hh:mm"
                                            value-format="yyyy-MM-dd hh:mm"
                                            placeholder="请选择日期时间">
                                    </el-date-picker>
                                    </p>
                        
                                </el-form-item></el-form-item>
                                </el-form>
                                <div slot="footer" class="dialog-footer">
                                    <el-button @click="dialogFormVisible = false">取 消</el-button>
                                    <el-button type="primary" @click="dialogFormVisible = false"><a  @click="xiugai()">确 定</a></el-button>
                                </div>
                            </el-dialog>


                        <!-- 删除按钮 -->
                        <el-button @click="deleteGDZD(scope.row)" type="danger" icon="el-icon-delete" circle></el-button>
                    </template>
                </el-table-column>
                
            </el-table>
            
        </template>
        
    </el-row>

    <!-- 分页 -->
    <el-row>
        <el-button-group>
                <a href="#"  @click="prePageFirst">
                    <el-button type="warning">首页</el-button>
                </a>

                <a href="#"  @click="prePage">
                    <el-button type="primary" icon="el-icon-arrow-left">上一页</el-button>
                </a>
                
                <span v-for="(item, index) in pageNum">
                    <a href="#" @click="toPage(index)" :class="{active: currentPage==index}">  
                        <el-button type="primary" >&nbsp; {{ index+1 }}</el-button>
                    </a>
                </span>

                <a href="#" @click="nextPage">
                    <el-button type="primary">下一页<i class="el-icon-arrow-right el-icon--right"></i></el-button>
                </a>

                <a href="#"  @click="prePageLast">
                    <el-button type="warning">末页</el-button>
                </a>
        </el-button-group>
    </el-row>
    <p style="margin-right: 30px;"><span>{{yeshu}}</span>/{{pageNum}}页
        总条数:<span>{{zongtioashu}}</span>条记录
    </p>
        
  </div>
</body>
  <!-- import Vue before Element -->
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
  <!-- import JavaScript -->
  <script src="https://unpkg.com/element-ui/lib/index.js"></script>
  <script>
       QueryString = {
        data: {},
        initial: function () {
            var aPairs, aTmp;
            var queryString = new String(window.location.search);
            queryString = queryString.substr(1, queryString.length); //remove   "?"
            aPairs = queryString.split("&");
            for (var i = 0; i < aPairs.length; i++) {
                aTmp = aPairs[i].split("=");
                this.data[aTmp[0]] = aTmp[1];
            }
        },
        getValue: function (key) {
            return this.data[key];
        }
    }
    QueryString.initial();
    let aVal= QueryString.getValue('noid');

    new Vue({
      el: '#app',
      data() {
        return{
            goods_name:null,
            gdzc:{},
            listGDZC:[],
            pageSize:3,
            currentPage:0,
            dialogTableVisible: false,
            dialogFormVisible: false,
            form: {
                name: '',
                region: '',
                date1: '',
                date2: '',
                delivery: false,
                type: [],
                resource: '',
                desc: ''
            },
            formLabelWidth: '120px'
        }
      },
    
        computed:{
                listGDZC1Show: function(){
                    let start = this.currentPage*this.pageSize;
                    let end = Math.min((this.currentPage+1)*this.pageSize, this.listGDZC.length)
                    return this.listGDZC.slice(start, end)
                },
                pageNum: function(){
                    return Math.ceil(this.listGDZC.length / this.pageSize) || 1 ;
                },
                zongtioashu:function(){
                    return this.listGDZC.length
                },
                yeshu:function(){
                    return this.currentPage+1
                },
            
            },

        mounted(){
            this.listGDZC1();
        },

        
        methods:{

            //列表
            listGDZC1:function (){
                let url = "http://localhost:8080/rikao13_goods/listGDZCPost.do";
                // let data1 = {};
                let data1={"goods_name":this.goods_name};
                let option = {headers: {'Content-Type':'application/json'}};
                axios.post(url,data1,option).then((rel)=>{
                    this.listGDZC = rel.data.data;
                    console.log(this.listGDZC)   
                     
                });
            },


            //分页
            nextPage: function(){//下一页
                var vm = this;
                if (vm.currentPage == vm.pageNum - 1) return;
                vm.currentPage++;
 
            },
            prePage: function(){//上一页
                var vm = this;
                if (vm.currentPage == 0)
                return;
                vm.currentPage--;
 
            },
            prePageFirst:function(){//首页
                var vm = this;
                vm.currentPage=0;
            },
            prePageLast:function(){//末页
                var vm = this;
                vm.currentPage=vm.pageNum-1;
            },
            toPage: function(page){
                var vm = this;
                vm.currentPage = page
            },

            tianjia:function(){
                location.href="addGdzc.html"
            },


            
            //删除
            deleteGDZD(noid){
                if(confirm("确定要删除")){
                    let url = "http://localhost:8080/rikao13_goods/deleteGDZCPost.do";
                    let data1 = noid;
                    let option = {Headers:{'Content-type':'application/json'}};
                    axios.post(url,data1,option).then((rel)=>{
                        for(let i = 0;i<this.listGDZC.length;i++){
                            if(this.listGDZC[i].noid==noid){
                                this.listGDZC.splice(i,1);
                            };
                        };
                        this.listGDZC1();
                    }); 
                }
            },



           //修改
           selectNoid(noid){
                let url = "http://localhost:8080/rikao13_goods/selectGDZCNoidPost.do";
                let data1 = {"noid":noid.noid};
                let option = {Headers:{'Content-type':'application/json'}};
                axios.post(url,data1,option).then((rel)=>{
                    this.gdzc=rel.data.data;
                })
            },

            xiugai:function(){
                let url = "http://localhost:8080/rikao13_goods/alterGDZCPost.do";
                let data1 = this.gdzc;
                console.log(this.gdzc)
                 let option = {Headers:{'Content-type':'application/json'}}
                 axios.post(url,data1,option).then((rel)=>{
                    this.listGDZC1();
                })

            }




        }
    })
  </script>
</html>

二、后端代码

(一)实体类

package com.wanshi.spring.entity;

import lombok.Data;

@Data
public class GDZC {
    private String noid;
    private String goods_name;
    private String price;
    private String weight;
    private String buy_date;
}

package com.wanshi.spring.entity;

import lombok.Data;

@Data
public class JsonResut {
    private Integer code;
    private  String msg;
    private  Object data;
}

(二)Mapper接口层

package com.wanshi.spring.mapper;

import com.wanshi.spring.entity.GDZC;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface GDZCMapper {
    Integer addGDZC(GDZC gdzc);

    List<GDZC> listGDZC();

    Integer deleteGDZC(String noid);

    GDZC seletByNoid(String noid);
    Integer alterGDZC(GDZC gdzc);

    List<GDZC> selectGDZC (@Param("goods_name") String goods_name);
}

(三)Service接口层

package com.wanshi.spring.service;

import com.wanshi.spring.entity.GDZC;
import com.wanshi.spring.entity.JsonResut;

public interface GDZCService {
    JsonResut addGDZC(GDZC gdzc);

    JsonResut listGDZC();

    JsonResut delteGDZC(String noid);

    JsonResut seletByNoid(String noid);
    JsonResut alterGDZC(GDZC gdzc);

    JsonResut selectGDZC(String goods_name);
}

(四)ServiceImpl接口实现层

package com.wanshi.spring.service.impl;

import com.wanshi.spring.entity.GDZC;
import com.wanshi.spring.entity.JsonResut;
import com.wanshi.spring.mapper.GDZCMapper;
import com.wanshi.spring.service.GDZCService;
import lombok.Data;
import org.apache.ibatis.annotations.Select;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class GDZCServiceImpl implements GDZCService {
    @Autowired
    private GDZCMapper gdzcMapper;


    @Override
    public JsonResut addGDZC(GDZC gdzc) {
        JsonResut json = new JsonResut();
        gdzcMapper.addGDZC(gdzc);
        json.setMsg("添加成功");
        json.setCode(0);
        return json;
    }

    @Override
    public JsonResut listGDZC() {
        JsonResut json = new JsonResut();
        List<GDZC> listGDZC = gdzcMapper.listGDZC();
        json.setData(listGDZC);
        return json;
    }

    @Override
    public JsonResut delteGDZC(String noid) {
        JsonResut json = new JsonResut();
        gdzcMapper.deleteGDZC(noid);
        json.setCode(2);
        return json;
    }

    @Override
    public JsonResut seletByNoid(String noid) {
        JsonResut json = new JsonResut();
        GDZC selectGDZCNoid = gdzcMapper.seletByNoid(noid);
        json.setData(selectGDZCNoid);
        return json;
    }

    @Override
    public JsonResut alterGDZC(GDZC gdzc) {
        JsonResut json = new JsonResut();
        gdzcMapper.alterGDZC(gdzc);
        json.setCode(3);
        json.setMsg("修改成功");
        return json;
    }

    @Override
    public JsonResut selectGDZC(String goods_name) {
        JsonResut json = new JsonResut();
        List<GDZC> selectGDZC = gdzcMapper.selectGDZC(goods_name);
        json.setData(selectGDZC);
        return json;
    }
}

(五)Controller层

package com.wanshi.controller;
import com.wanshi.spring.entity.GDZC;
import com.wanshi.spring.entity.JsonResut;
import com.wanshi.spring.service.GDZCService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
@CrossOrigin
public class AjaxController {
    @Autowired
    private GDZCService gdzcService;

    @RequestMapping("/addGDZCPost.do")
    @ResponseBody
    public JsonResut addGDZCPost(@RequestBody  GDZC gdzc){
        System.out.println("col"+gdzc.toString());
        return gdzcService.addGDZC(gdzc);
    }

    @RequestMapping("/listGDZCPost.do")
    @ResponseBody
    public JsonResut listGDZCPost(@RequestBody GDZC gdzc){
        return gdzcService.selectGDZC(gdzc.getGoods_name());
    }

    @RequestMapping("/deleteGDZCPost.do")
    @ResponseBody
    public JsonResut deleteGDZCPost(@RequestBody GDZC gdzc){
        return gdzcService.delteGDZC(gdzc.getNoid());
    }

    @RequestMapping("/selectGDZCNoidPost.do")
    @ResponseBody
    public JsonResut selectGDZCNoidPost(@RequestBody GDZC gdzc){
        return gdzcService.seletByNoid(gdzc.getNoid());
    }

    @RequestMapping("/alterGDZCPost.do")
    @ResponseBody
    public JsonResut alterGDZCPost(@RequestBody GDZC gdzc){
        return gdzcService.alterGDZC(gdzc);
    }


}


三、sql语句(Mapper.xml文件)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wanshi.spring.mapper.GDZCMapper">
    <insert id="addGDZC" parameterType="com.wanshi.spring.entity.GDZC">
        insert into rikao_t_goods (goods_name,price,weight,buy_date)
         values (#{goods_name},#{price},#{weight},#{buy_date})
    </insert>

    <select id="listGDZC"  resultType="com.wanshi.spring.entity.GDZC">
        select * from rikao_t_goods
    </select>

    <delete id="deleteGDZC" parameterType="String">
        delete  from rikao_t_goods
        <where>
            noid = #{noid}
        </where>
    </delete>

    <select id="seletByNoid"  parameterType="String" resultType="com.wanshi.spring.entity.GDZC">
        select * from rikao_t_goods
        <where>
            noid = #{noid}
        </where>
    </select>

    <update id="alterGDZC" parameterType="com.wanshi.spring.entity.GDZC">
        update rikao_t_goods
        <set>
            goods_name =  #{goods_name},
            price =  #{price},
            weight = #{weight},
            buy_date = #{buy_date}
        </set>
        <where>
            noid = #{noid}
        </where>
    </update>


    <select id="selectGDZC"  parameterType="String" resultType="com.wanshi.spring.entity.GDZC">
        select * from rikao_t_goods
        <where>
            <if test="goods_name != null and goods_name != ''">
                goods_name like concat('%',#{goods_name},'%')
            </if>
        </where>
    </select>
</mapper>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringMVC+ElementUl+Vue实现增、删、改、查、多条件搜索、分页功能(前端后端分离) 的相关文章

随机推荐

  • 30 个 Python 教程和技巧

    如果您让任何 Python 程序员讲述 Python 的优势 他会引用简洁和高可读性作为最有影响力的优势 在本 Python 教程中 我们将介绍许多基本的 Python 教程和技巧 这些技巧和技巧将验证上述两点 自从我开始使用 Python
  • 四年Android面试遇到的问题整理,算法太TM重要了

    何为成长 成长是指自我提升 一方面是本身的个人能力 另一方面是社会对你的认可度 最终 程序员的职位和薪水都能在成长中得以体现 很多人对成长有误解 在他们眼中 随着工作年限的提高 成长是理所当然的事情 这其实是一个误区 两个程序员同时工作3年
  • 解决大批量数据导出Excel产生内存溢出的方案

    相关文章 java操作Excel PDF文件 Java操作Excel之理解JXL 读取Excel Java操作Excel之理解JXL 读取Excel模板动态写入数据并生成Excel 推荐圈子 GT Grid 更多相关推荐 POI或者JXL在
  • l05173芯片针脚图_芯片引脚定义

    电源管理芯片引脚定义 1 AGND GND PGND 模拟地 地线 电源地 2 BOOT 次级驱动信号器过流保护输入端 3 COMP 电流补偿控制引脚 4 CT 定时电容 5 DRIVE cpu 外核场管驱动信号输出 6 FAULT 过耗指
  • Protues 8.7:i8086.DLL failed to create DSIM model

    如图所示 8086报错 解决一 换版本 如Protues 7 8 解决二 有的版本i8086 DLL文件不好用 使用这个 链接 https pan baidu com s 1eKniBmf7xJJHwPAxX8dQBg 提取码 8086 文
  • SpringBoot 文件下载功能 IE浏览器汉字乱码问题

    问题描述 今天在实现文件下载并指定文件名称时 遇到文件下载在Google 浏览器下载正常 指定文件名称汉字未乱码 但是在IE11 浏览器上 指定文件名称汉字乱码 问题产生原因 Chrome浏览器可以自动执行两次URL解码 所以下载的文件名是
  • java使用mybatis一次性插入多条数据

    项目场景 java使用ibatis作为持久层框架时如何一次性插入多条数据 问题描述 正常插入一条数据的代码是这样的 mapper insert model 问题分析 这样单条插入是没有问题 问题是遇到多条要连续插入数据的时候循环执行会占用很
  • 提权重启自己

    using System using System Collections Generic using System ComponentModel using System Data using System Drawing using S
  • USB、UART、232串口通信和转换芯片

    USB转RS232串口应用 usb转232 PC技术小能手的博客 CSDN博客 USB直接转RS232 或者先USB 转UART 后UART再转RS232 usb转rs232串口驱动的作用 一文带你读懂UARTTTLRS232 调试血泪经验
  • 全球公链进展

    一周速览 过去一周 明星项目动态如下 以太坊ACDE会议更新 Devnet 9 预计将于9月19日启动 以太坊编程语言 Vyper 发布 v0 3 10 候选版本 Conflux v2 3 0 网络硬分叉升级已完成 Cosmos Hub宣布
  • 微信小程序动态修改数据 list展示

    前沿 我想实现一个动态修改data内数据的功能 试验了几种方式 感觉下面的这种方式最实用 所以记录一下 方便后面的小伙伴来学习 代码 js文件代码 Page data artlist 页面加载时候出发的方法 onLoad function
  • 租房信息采集并做数据分析

    郑州常住人口1260 1万人 跃居中部第一 2020年郑州吸纳的省内其他城市流出人口达368万人 郑州户籍总人口数量为881 6万人 采集分区 二七区 中原区 管城回族区 惠济区 金水区 郑东新区 荥阳市 新郑市 上街区 巩义市 新密市 登
  • AndroidStudio 开发中字符串国际化string.xml与Excel表格的互相导入

    在Android 的开发中有时需要适配国际化 需要将string xml中的字符串导出翻译 然后再将翻译后的字符串导入至AndroidStudio中相应的string xml中 关于国际化的实现 可参考Android适配国际化的三种方式 应
  • DP++转HDMI1.4

    CS5216AN 一 主要特征 符合 VESA 双模式 DisplayPort 标准 版本 1 适用于 2 类电缆适配器应用 包括所需的 2 类电缆适配器标识和控制寄存器以及 I2C over AUX 转换 符合 HDMI 1 4b 规范
  • 2.1 目标检测简介

    目录 2 1 目标检测简介 1 2 1 1 传统的目标检测方法 2 1 2 深度学习时代的目标检测 2 1 目标检测简介1 目标检测是另一项非常重要的计算机视觉任务 图像分类的目的是辨别图片中所包含的主体对象是什么 而目标检测的目标是检测图
  • Prometheus 远程读写 Influxdb

    Prometheus 远程读写 Influxdb Influxdb InfluxDB 是一款开源的时序数据库 是InfluxData 是一个公司 提供时序平台 下的一个产品 使用Go语言开发 时序数据库 Time Series Databa
  • Django2 提示:TemplateDoesNotExist

    编写简单Django2 页面 查询后台数据在前端页面展示 但总是提示TemplateDoesNotExist 资源不存在 第一步 创建资源模板文件夹template 第二步 编辑项目的资源配置setting py TEMPLATES BAC
  • C++ NOIP普及组2017初赛答案版

    CCF NOIP2017 初赛普及组C 语言试题第1 页 共7 页第二十三届全国青少年信息学奥林匹克联赛初赛普及组C 语言试题竞赛时间 2017 年10 月14 日14 30 16 30选手注意 试题纸共有7 页 答题纸共有2 页 满分10
  • 数组实例解析3(杨辉三角)

    根据用户输入的行数n输出对应行数的杨辉三角 具体如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 public class ArrayTraingleTest public static void
  • SpringMVC+ElementUl+Vue实现增、删、改、查、多条件搜索、分页功能(前端后端分离)

    使用vue element springMVC来实现增 删 改 查 搜索 分页这几个功能 对于今天老师留的作业小张与小红对话 一班小红同学对二班小张同学说 今天我们班里学了ElementUl组件可是我学没明白 老师还留了个基于vue Ele