实战Flask+BootstrapTable最实用服务端分页查询动态表头及数据(ajax方式)

看到这篇文章的朋友们是幸运的,我用了很久才实战出如下结果,且行且珍惜,祝好!

话不多说,有图有源码

1.看图,实现服务端动态表头数据,分页,查询,排序

1.数据准备

CREATE TABLE `goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL COMMENT '商品名',
  `no` varchar(255) DEFAULT NULL COMMENT '编号',
  `price` double DEFAULT NULL COMMENT '价格',
  `num` int(11) DEFAULT NULL COMMENT '数量',
  `inputtime` datetime DEFAULT NULL COMMENT '日期',
  `content` varchar(255) DEFAULT NULL COMMENT '说明',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=301 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of goods
-- ----------------------------
INSERT INTO goods VALUES ('6', '商品6', '6', '60', '600', '2018-05-26 11:18:39', '商品详情6');
INSERT INTO goods VALUES ('7', '商品7', '7', '70', '700', '2018-05-26 11:18:39', '商品详情7');
INSERT INTO goods VALUES ('8', '商品8', '8', '80', '800', '2018-05-26 11:18:39', '商品详情8');
INSERT INTO goods VALUES ('9', '商品9', '9', '90', '900', '2018-05-26 11:18:39', '商品详情9');
INSERT INTO goods VALUES ('12', '商品12', '12', '120', '1200', '2018-05-26 11:18:40', '商品详情12');
INSERT INTO goods VALUES ('13', '商品13', '13', '130', '1300', '2018-05-26 11:18:40', '商品详情13');
INSERT INTO goods VALUES ('14', '商品14', '14', '140', '1400', '2018-05-26 11:18:40', '商品详情14');
INSERT INTO goods VALUES ('15', '商品15', '15', '150', '1500', '2018-05-26 11:18:40', '商品详情15');
INSERT INTO goods VALUES ('16', '商品16', '16', '160', '1600', '2018-05-26 11:18:40', '商品详情16');
INSERT INTO goods VALUES ('17', '商品17', '17', '170', '1700', '2018-05-26 11:18:40', '商品详情17');
INSERT INTO goods VALUES ('18', '商品18', '18', '180', '1800', '2018-05-26 11:18:40', '商品详情18');
INSERT INTO goods VALUES ('19', '商品19', '19', '190', '1900', '2018-05-26 11:18:40', '商品详情19');
INSERT INTO goods VALUES ('20', '商品20', '20', '200', '2000', '2018-05-26 11:18:40', '商品详情20');
INSERT INTO goods VALUES ('21', '商品21', '21', '210', '2100', '2018-05-26 11:18:40', '商品详情21');
INSERT INTO goods VALUES ('22', '商品22', '22', '220', '2200', '2018-05-26 11:18:40', '商品详情22');
INSERT INTO goods VALUES ('23', '商品23', '23', '230', '2300', '2018-05-26 11:18:40', '商品详情23');
INSERT INTO goods VALUES ('24', '商品24', '24', '240', '2400', '2018-05-26 11:18:40', '商品详情24');
INSERT INTO goods VALUES ('25', '商品25', '25', '250', '2500', '2018-05-26 11:18:40', '商品详情25');
INSERT INTO goods VALUES ('26', '商品26', '26', '260', '2600', '2018-05-26 11:18:40', '商品详情26');
INSERT INTO goods VALUES ('27', '商品27', '27', '270', '2700', '2018-05-26 11:18:40', '商品详情27');
INSERT INTO goods VALUES ('28', '商品28', '28', '280', '2800', '2018-05-26 11:18:40', '商品详情28');
INSERT INTO goods VALUES ('29', '商品29', '29', '290', '2900', '2018-05-26 11:18:40', '商品详情29');
INSERT INTO goods VALUES ('30', '商品30', '30', '300', '3000', '2018-05-26 11:18:40', '商品详情30');
INSERT INTO goods VALUES ('31', '商品31', '31', '310', '3100', '2018-05-26 11:18:40', '商品详情31');
INSERT INTO goods VALUES ('32', '商品32', '32', '320', '3200', '2018-05-26 11:18:40', '商品详情32');
INSERT INTO goods VALUES ('33', '商品33', '33', '330', '3300', '2018-05-26 11:18:40', '商品详情33');
INSERT INTO goods VALUES ('34', '商品34', '34', '340', '3400', '2018-05-26 11:18:40', '商品详情34');
INSERT INTO goods VALUES ('35', '商品35', '35', '350', '3500', '2018-05-26 11:18:40', '商品详情35');
INSERT INTO goods VALUES ('36', '商品36', '36', '360', '3600', '2018-05-26 11:18:40', '商品详情36');
INSERT INTO goods VALUES ('37', '商品37', '37', '370', '3700', '2018-05-26 11:18:40', '商品详情37');
INSERT INTO goods VALUES ('38', '商品38', '38', '380', '3800', '2018-05-26 11:18:40', '商品详情38');
INSERT INTO goods VALUES ('39', '商品39', '39', '390', '3900', '2018-05-26 11:18:40', '商品详情39');
INSERT INTO goods VALUES ('40', '商品40', '40', '400', '4000', '2018-05-26 11:18:40', '商品详情40');
INSERT INTO goods VALUES ('41', '商品41', '41', '410', '4100', '2018-05-26 11:18:40', '商品详情41');
INSERT INTO goods VALUES ('42', '商品42', '42', '420', '4200', '2018-05-26 11:18:40', '商品详情42');
INSERT INTO goods VALUES ('43', '商品43', '43', '430', '4300', '2018-05-26 11:18:40', '商品详情43');
INSERT INTO goods VALUES ('44', '商品44', '44', '440', '4400', '2018-05-26 11:18:40', '商品详情44');
INSERT INTO goods VALUES ('45', '商品45', '45', '450', '4500', '2018-05-26 11:18:40', '商品详情45');
INSERT INTO goods VALUES ('46', '商品46', '46', '460', '4600', '2018-05-26 11:18:40', '商品详情46');
INSERT INTO goods VALUES ('47', '商品47', '47', '470', '4700', '2018-05-26 11:18:40', '商品详情47');
INSERT INTO goods VALUES ('48', '商品48', '48', '480', '4800', '2018-05-26 11:18:40', '商品详情48');
INSERT INTO goods VALUES ('49', '商品49', '49', '490', '4900', '2018-05-26 11:18:40', '商品详情49');
INSERT INTO goods VALUES ('50', '商品50', '50', '500', '5000', '2018-05-26 11:18:40', '商品详情50');
INSERT INTO goods VALUES ('51', '商品51', '51', '510', '5100', '2018-05-26 11:18:40', '商品详情51');
INSERT INTO goods VALUES ('52', '商品52', '52', '520', '5200', '2018-05-26 11:18:41', '商品详情52');
INSERT INTO goods VALUES ('53', '商品53', '53', '530', '5300', '2018-05-26 11:18:41', '商品详情53');
INSERT INTO goods VALUES ('54', '商品54', '54', '540', '5400', '2018-05-26 11:18:41', '商品详情54');
INSERT INTO goods VALUES ('55', '商品55', '55', '550', '5500', '2018-05-26 11:18:41', '商品详情55');
INSERT INTO goods VALUES ('56', '商品56', '56', '560', '5600', '2018-05-26 11:18:41', '商品详情56');
INSERT INTO goods VALUES ('57', '商品57', '57', '570', '5700', '2018-05-26 11:18:41', '商品详情57');
INSERT INTO goods VALUES ('58', '商品58', '58', '580', '5800', '2018-05-26 11:18:41', '商品详情58');
INSERT INTO goods VALUES ('60', '商品60', '60', '600', '6000', '2018-05-26 11:18:41', '商品详情60');
INSERT INTO goods VALUES ('61', '商品61', '61', '610', '6100', '2018-05-26 11:18:41', '商品详情61');
INSERT INTO goods VALUES ('62', '商品62', '62', '620', '6200', '2018-05-26 11:18:41', '商品详情62');
INSERT INTO goods VALUES ('63', '商品63', '63', '630', '6300', '2018-05-26 11:18:41', '商品详情63');
INSERT INTO goods VALUES ('64', '商品64', '64', '640', '6400', '2018-05-26 11:18:41', '商品详情64');
INSERT INTO goods VALUES ('65', '商品65', '65', '650', '6500', '2018-05-26 11:18:41', '商品详情65');
INSERT INTO goods VALUES ('66', '商品66', '66', '660', '6600', '2018-05-26 11:18:41', '商品详情66');
INSERT INTO goods VALUES ('67', '商品67', '67', '670', '6700', '2018-05-26 11:18:41', '商品详情67');
INSERT INTO goods VALUES ('68', '商品68', '68', '680', '6800', '2018-05-26 11:18:41', '商品详情68');
INSERT INTO goods VALUES ('69', '商品69', '69', '690', '6900', '2018-05-26 11:18:41', '商品详情69');
INSERT INTO goods VALUES ('70', '商品70', '70', '700', '7000', '2018-05-26 11:18:41', '商品详情70');
INSERT INTO goods VALUES ('71', '商品71', '71', '710', '7100', '2018-05-26 11:18:41', '商品详情71');
INSERT INTO goods VALUES ('72', '商品72', '72', '720', '7200', '2018-05-26 11:18:41', '商品详情72');
INSERT INTO goods VALUES ('73', '商品73', '73', '730', '7300', '2018-05-26 11:18:41', '商品详情73');
INSERT INTO goods VALUES ('274', '商品74', '74', '740', '7400', '2018-05-26 11:18:41', '商品详情74');
INSERT INTO goods VALUES ('275', '商品75', '75', '750', '7500', '2018-05-26 11:18:41', '商品详情75');
INSERT INTO goods VALUES ('276', '商品76', '76', '760', '7600', '2018-05-26 11:18:41', '商品详情76');
INSERT INTO goods VALUES ('277', '商品77', '77', '770', '7700', '2018-05-26 11:18:41', '商品详情77');
INSERT INTO goods VALUES ('278', '商品78', '78', '780', '7800', '2018-05-26 11:18:41', '商品详情78');
INSERT INTO goods VALUES ('279', '商品79', '79', '790', '7900', '2018-05-26 11:18:41', '商品详情79');
INSERT INTO goods VALUES ('280', '商品80', '80', '800', '8000', '2018-05-26 11:18:42', '商品详情80');
INSERT INTO goods VALUES ('281', '商品81', '81', '810', '8100', '2018-05-26 11:18:42', '商品详情81');
INSERT INTO goods VALUES ('282', '商品82', '82', '820', '8200', '2018-05-26 11:18:42', '商品详情82');
INSERT INTO goods VALUES ('283', '商品83', '83', '830', '8300', '2018-05-26 11:18:42', '商品详情83');
INSERT INTO goods VALUES ('284', '商品84', '84', '840', '8400', '2018-05-26 11:18:42', '商品详情84');
INSERT INTO goods VALUES ('285', '商品85', '85', '850', '8500', '2018-05-26 11:18:42', '商品详情85');
INSERT INTO goods VALUES ('286', '商品86', '86', '860', '8600', '2018-05-26 11:18:42', '商品详情86');
INSERT INTO goods VALUES ('287', '商品87', '87', '870', '8700', '2018-05-26 11:18:42', '商品详情87');
INSERT INTO goods VALUES ('288', '商品88', '88', '880', '8800', '2018-05-26 11:18:42', '商品详情88');
INSERT INTO goods VALUES ('289', '商品89', '89', '890', '8900', '2018-05-26 11:18:42', '商品详情89');
INSERT INTO goods VALUES ('290', '商品90', '90', '900', '9000', '2018-05-26 11:18:42', '商品详情90');
INSERT INTO goods VALUES ('291', '商品91', '91', '910', '9100', '2018-05-26 11:18:42', '商品详情91');
INSERT INTO goods VALUES ('292', '商品92', '92', '920', '9200', '2018-05-26 11:18:42', '商品详情92');
INSERT INTO goods VALUES ('293', '商品93', '93', '930', '9300', '2018-05-26 11:18:42', '商品详情93');
INSERT INTO goods VALUES ('294', '商品94', '94', '940', '9400', '2018-05-26 11:18:42', '商品详情94');
INSERT INTO goods VALUES ('295', '商品95', '95', '950', '9500', '2018-05-26 11:18:42', '商品详情95');
INSERT INTO goods VALUES ('296', '商品96', '96', '960', '9600', '2018-05-26 11:18:42', '商品详情96');
INSERT INTO goods VALUES ('297', '商品97', '97', '970', '9700', '2018-05-26 11:18:42', '商品详情97');
INSERT INTO goods VALUES ('298', '商品98', '98', '980', '9800', '2018-05-26 11:18:42', '商品详情98');
INSERT INTO goods VALUES ('299', '商品99', '99', '990', '9900', '2018-05-26 11:18:42', '商品详情99');
INSERT INTO goods VALUES ('300', '商品100', '100', '1000', '10000', '2018-05-26 11:18:42', '商品详情100');

2.前端页面

<!DOCTYPE html>
{% from "common/_macro.html" import static %}
<html>
<meta charset="utf-8">
<head>
<!-- 引入bootstrap样式 -->
<link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css" />
<!-- 引入bootstrap-table样式 -->
<link rel="stylesheet" href="/static/bootstrap-table-develop/bootstrap-table.min.css" />
<!-- layer -->
<link rel="stylesheet" href="/static/layer/2.4/skin/layer.css" />
<!-- jquery -->
<script type="text/javascript" src="/static/js/jquery-2.2.0.min.js" ></script>
<!-- bootstrap -->
<script type="text/javascript" src="/static/bootstrap/js/bootstrap.min.js" ></script>
<!-- bootstrap-table -->
<script type="text/javascript" src="/static/bootstrap-table-develop/bootstrap-table.min.js" ></script>
<!-- 引入中文语言包 -->
<script type="text/javascript" src="/static/bootstrap-table-develop/locale/bootstrap-table-zh-CN.min.js" ></script>
<!-- layer -->
<script type="text/javascript" src="/static/layer/2.4/layer.js" ></script>

</head>
<body class="gray-bg">
    <h1 align="center">Bootstrap-Table 服务端动态表头及数据,分页,查询,排序</h1>
	<div class="wrapper wrapper-content ">
		<div class="col-md-12">
            <form id="toolbar" class="form-inline" role="form">
                <div class="form-group">
                    <input type="text" id="search_name" class="form-control"  placeholder="商品名称">
                </div>
                <button type="button" id="btn_search" class="btn btn-default btn-info">搜索</button>
            </form>
            <table id="table" class="table-striped " style="table-layout:auto;;">

            </table>
        </div>
    </div>

</body>
</html>
<script>
    $(function () {
        var $table = $('#table');
        var tableColumns = [];
        var loadData =[];
        //-----gtj 通过ajax 初始化表头及数据
        ajaxTable('/hellotableserverpagesearch/list');

        $table.bootstrapTable({
            dataType:"json",    //服务器返回的数据类型
            method:"get",
            toolbar: "#toolbar",
            locale: "zh-CN", //en-US
            clickEdit: true,
            showRefresh: true,
            showColumns: true,
            search: true,
            showPaginationSwitch: true,     //显示切换分页按钮
            clickToSelect: true,  //点击row选中radio或CheckBox
            showExport: true,
            contentEditable: true,
            stickyHeader: true,
            theadClasses: "thead-blue",//设置thead-blue为表头样式
            columns: tableColumns,

            //----gtj 增加查询参数处理
            sortable:true,      //是否启用排序
            sortOrder:"asc",    //排序方式
            //-----gtj 分页方式
            pagination: true,       //显示分页条
            paginationVAlign: "bottom",
            paginationShowPageGo: true,
            showJumpto: true,
            pageNumber: 1, //初始化加载第一页,默认第一页
            queryParamsType:"undefined",    //设置参数格式
            //得到查询的参数
            queryParams : function (params) {
                var temp = {
                    page:params.pageNumber, //首页页码
                    rows:params.pageSize,    //每页的记录行数
                    sortName: params.sortName,      //排序列名
                    sortOrder: params.sortOrder, //排位命令(desc,asc)
                    //------gtj 搜索内容变量值------------------
                    sname: $('#toolbar #search_name').val()
                };
                return temp;
            },
            sidePagination: 'server',//指定服务器端分页
            pageSize: 10,//单页默认显示记录数
            pageList: [10, 20, 30, 40],//分页步进值
            search: false //是否显示表格搜索,
        });


        function ajaxTable(url){
            $.ajax({
                url: url,
                type: "GET",
                dataType: "json",
                success: function(rs){
                    console.log(rs.data.rows)
                    loadData = rs.data.rows;
                    tableColumns = rs.data.columns;
                    $table.bootstrapTable('refreshOptions',
                    {
                        url: url,
                        columns: tableColumns,
                        responseHandler: function (rs) {
                            return {
                                "rows": rs.data.rows,
                                "total": rs.data.total
                            };
                        }

                    });
                },
                error: function(rs){
                    console.log(rs)
                }
            });
        }
        // 搜索查询按钮触发事件
        $("#btn_search").click(function () {
            //alert($('#search_sptype').val());
            $('#table').bootstrapTable('refresh'); // 很重要的一步,刷新url!
            //$('#search_sptype').val();
        })
    })
</script>

3.后端内容

from sqlalchemy import create_engine, text
import pandas as pd
#=============================================================
#---------------------阿桂天山 Ewangda--------------------------
"""
Bootstrap-table 服务端分页,查询,排序
"""
@app.route('/hellotableserverpagesearch', methods=['GET','POST'])
def hellotableserverpagesearch():
    return render_template('/hello_tableserverpagesearch.html')

@app.route('/hellotableserverpagesearch/list', methods=['GET','POST'])
def hellotableserverpagesearch_list():
    engine = create_engine("mysql+pymysql://root:123123@127.0.0.1:3306/testdb?charset=utf8", echo=True)

    # --------sqlalchemy获取字段名--------------
    conn = engine.connect(close_with_result=True)  # --连接使用后自动关闭
    cursor = conn.execute(text("SELECT * FROM goods")).cursor  # --返回cursor
    fields_list = cursor.description  
    colnames = [col[0] for col in fields_list]
    columns = [{'checkbox': True}]
    for f in colnames:
        col = {'field': f, 'title': f, 'sortable': True}
        columns.append(col)

    info = request.args #.get_json()  # .form
    rows = info.get('rows', 10)  # 每页显示的条数
    # print("rows",rows)
    page = info.get('page', 1)  # 分片数,(页码-1)*limit,它表示一段数据的起点
    # print("page:",page)
    sname = r"%{0}%".format(info.get('sname', ''))
    # print(sname)
    sortname = info.get('sortName', '')
    sortorder = info.get('sortOrder', '')
    totalRecouds_sql = r"select count(*) from goods where name like '{0}'".format(sname)
    # print(totalRecouds_sql)
    result = engine.execute(text(totalRecouds_sql))
    # 从元组中取出记录条数((数目,),)
    totalNum = int(result.fetchall()[0][0])
    # print("totalnum:", totalNum)
    offset = int(rows) * int(int(page) - 1)
    if sortname == '':
        sql = "select * from goods where name like '{0}' limit {1},{2}".format(sname, offset, int(rows))
    else:
        sql = "select * from goods where name like '{0}' order by {1} {2} limit {3},{4} ".format(sname, sortname,
                                                                                                      sortorder, offset,
                                                                                                      int(rows))
    print(sql)
    sql = text(sql)
    df = pd.read_sql(sql, engine)
    rows = df.to_dict(orient='records')
    # print(rows)
    data = {
        'columns': columns,
        'rows': rows,
        'total': totalNum
    }

    return restful.success(data=data) 

就此收功.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/199734.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

运算放大器(五):V-I 转换器

1、高侧电压至电流&#xff08;V-I&#xff09;转换器 下图显示的电路是高侧电压至电流(V-I) 转换器。可将 0 V 至 2V 的输入电压转换为 0mA 至 100mA 的输出电流 其测量转换函数如下图所示&#xff1a; 可利用该电路搭建恒流源电路&#xff0c;如下图仿真电路所示&#xff08…

Linux 调试工具:gdb

调试复习 调试可谓是 “贯穿” 了程序员的一生&#xff0c;调试的重要性&#xff0c;就不再赘述啦&#xff01;如果你还不知道什么是调试&#xff0c;可以看看 Windows 系统的 Visual Studio 是如何调试的&#xff1a;➡️ visual stuudio 使用调试技巧 下载调试软件 gdb yu…

MaskDINO环境搭建与模型测试

1、环境搭建 1、构建虚拟环境安装torch conda create -n mmdetsam python3.8 -y conda activate mmdetsampip install torch1.10.0cu102 torchvision0.11.0cu102 torchaudio0.10.0 -f https://download.pytorch.org/whl/torch_stable.html -i http://mirrors.aliyun.com/pypi…

【开题报告】基于深度学习的驾驶员危险行为检测系统

研究的目的、意义及国内外发展概况 研究的目的、意义&#xff1a;我国每年的交通事故绝对数量是一个十分巨大的数字&#xff0c;造成了巨大的死亡人数和经济损失。而造成交通事故的一个很重要原因就是驾驶员的各种危险驾驶操作行为。如果道路驾驶员的驾驶行为能够得到有效识别…

跳动的文字(文字渲染).html( 网上收集的1)

<!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>跳动的文字</title><style>#m1:hover {animation: shine 1s linear infinite;}keyframes shine {0% {color: #fff;}50% {color: #0000ff;}100% {color: #fff;}…

C语言错误处理之 “信号处理方式<signal.h>及signal函数等内置函数”

目录 前言 signal.h头文件 信号宏 signal函数 实例&#xff1a;在Linux环境下验证signal函数 实例&#xff1a;在Linux中演示保存signal函数的返回值 预定义的信号处理函数&#xff08;简单了解&#xff09; SIG_DFL函数 SIG_IGN函数 raise函数 实例&#xff1a;测试…

电气制图用什么软件?CAD和Eplan哪个更胜一筹?

身为电气工程师&#xff0c;每天打交道最多的可能不是自家对象&#xff0c;而是时时刻刻攥在手里的电气图。目前市面上制作电路图的软件形形色色&#xff0c;但是AutoCAD Electrical和Eplan是目前大家使用率最高的两款电气制图软件。 EPLAN是一款专业的电气设计软件&#xff0…

为什么Redis这么快?5分钟成为Redis高手

Redis简介 Redis 是 C 语言开发的一个开源高性能键值对的内存数据库&#xff0c;可以用来做数据库、缓存、消息中间件等场景&#xff0c;是一种 NoSQL&#xff08;not-only sql&#xff0c;非关系型数据库&#xff09;的数据库。 Redis特点 优秀的性能&#xff0c;数据是存储…

C++学习之路(十)C++ 用Qt5实现一个工具箱(增加一个时间戳转换功能)- 示例代码拆分讲解

上篇文章&#xff0c;我们用 Qt5 实现了在小工具箱中添加了《JSON数据格式化》功能&#xff0c;还是比较实用的。为了继续丰富我们的工具箱&#xff0c;今天我们就再增加一个平时经常用到的功能吧&#xff0c;就是「 时间戳转换 」功能&#xff0c;而且实现点击按钮后文字进行变…

Java基础之原码,反码,补码,位运算符

文章目录 前言一、二进制在运算中介绍二、原码&#xff0c;反码&#xff0c;补码&#xff08;针对有符号的&#xff09;三、位运算符按位与&按位或 |按位异或 ^按位取反 ~算术右移>>算术左移<<逻辑右移>>> 总结 前言 原码&#xff0c;反码&#xff0…

数字人透明屏幕的技术原理是什么?

数字人透明屏幕的技术原理主要包括人脸识别和全息影像技术。其中&#xff0c;人脸识别技术是通过摄像头捕捉游客的面部表情和动作&#xff0c;并将其转化为数据指令&#xff0c;以便与数字人物进行互动。而全息影像技术则是利用透明屏幕&#xff0c;通过全息投影的方式将数字人…

rider编辑器抛出异常 忽略try catch

如题 代码加了try catch 后用户使用体验是好了 但开发过程中 报错了不方便排查 启用这些配置后 trycatch里的异常也会抛出 补充一下默认配置,方便还原

【LeetCode:1670. 设计前中后队列 | 数据结构设计】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

21.Oracle的程序包(Package)

Oracle的程序包Package 一、Package的概述1、什么是Oracle11g的Package2、Package的作用是什么3、常见的系统内置Package 二、创建Package的相关语法1、Package的创建语法2、Package的删除3、具体案例4、Package的使用5、与Package相关的其他语法 三、常见内置程序包的使用1、…

MYSQL存储

注意&#xff1a; 1.如果没有指定的SESSION/GLOBAL&#xff0c;默认是SESSION&#xff0c;会话变量。 2.mysql服务重新启动之后&#xff0c;所设置的全局参数会失效&#xff0c;要想不失效&#xff0c;可以在/etc/my.cnf中配置。 变量 用户定义变量是用户根据需要自己定义变量…

二十章 多线程

线程简介 在 Java 中&#xff0c;并发机制非常重要。在以往的程序设计中&#xff0c;我们都是一个任务完成后再进行下一个任务&#xff0c;这样下一个任务的开始必须等待前一个任务的结束。Java 语言提供了并发机制&#xff0c;程序员可以在程序中执行多个线程&#xff0c;每一…

项目中的svg图标的封装与使用

1.安装 npm install vite-plugin-svg-icons -D2.在vite.config.ts中配置 **所有的svg图标都必须放在assets/icons // 引入svg import { createSvgIconsPlugin } from vite-plugin-svg-iconsexport default defineConfig({plugins: [vue(),createSvgIconsPlugin({iconDirs: [p…

PWM 正玄波形 通过C语言生成

#include <stdio.h> #include <math.h> #include <stdint.h>#define SAMPLE_POINT_NUM (200) /* 需要生成的点的个数 */ #define SINE_MAX (255) /* sin 函数幅值 */ #define PI (3.14…

共享充电宝被取代,共享WIFI项目将成市场趋势!

在创业领域如果有这样一个项目&#xff0c;你会选择哪一个&#xff1f;前者投资十万风险大&#xff0c;后者投资几千风险小。同样需要扫街地推&#xff0c;但产生的利润是相同的。相信100%的人会选择后者。实际上这两个项目前者就是共享电宝&#xff0c;后者就是共享WiFi项目。…

ground truth 在深度学习任务中代表的是什么意思?

1、概念 在深度学习领域&#xff0c;ground truth (中文意思是“地面真实值”或“基准真实值”&#xff0c;简单理解就是真实值) 是指用于训练和评估模型的准确标签或数据。它是机器学习算法的参考标准&#xff0c;用于衡量模型的性的和判断模型的准确性&#xff0c;本文将介绍…