活动介绍
file-type

Springboot新手入门实战案例下载

下载需积分: 10 | 19.36MB | 更新于2025-02-14 | 5 浏览量 | 0 下载量 举报 收藏
download 立即下载
在分析标题、描述以及提供的文件名称后,我们可以推断出一系列相关的知识点,这些知识点将围绕着Spring Boot这一流行的Java框架进行展开,特别是适合那些刚入门Spring Boot新手的内容。以下是对这些信息详细解读和知识点的阐述: ### 标题解读与知识点 **标题**: sbm_sc.zip 1. **文件压缩与解压缩**: - 标题中的.zip表明该文件是一个压缩包文件,通常使用专门的软件如WinRAR、7-Zip等进行压缩和解压缩。 - 新手需要了解如何在不同的操作系统中使用这些工具来处理压缩文件,例如在Windows系统中,通过右键点击文件选择解压缩选项。 2. **文件命名规则**: - 文件名“sbm_sc”很可能是“Spring Boot Minimal”或“Spring Boot Starter Class”的缩写,这暗示压缩包内可能包含一个非常基础的Spring Boot项目或其启动类的模板。 ### 描述解读与知识点 **描述**: "springboot入门案例的(包含一个前端html界面、MySQL数据库表)仅适合刚入门springboot新手。" 1. **Spring Boot入门**: - 这个案例是为刚入门Spring Boot的新手设计的,因此它可能包括了最基本的Spring Boot项目结构、配置文件、以及如何编写一个简单的Spring Boot应用程序。 - 新手可以通过这个案例来了解Spring Boot的约定优于配置的原则,以及其自动配置的特性。 2. **前端HTML界面**: - 包含前端界面的项目对新手来说非常友好,因为它可以帮助他们理解如何在Spring Boot项目中嵌入前端代码,以及如何配置视图解析器来渲染前端页面。 - 新手将学习到如何使用Thymeleaf、JSP或FreeMarker等模板引擎与Spring Boot集成,以及如何处理HTTP请求和响应。 3. **MySQL数据库表**: - MySQL作为最流行的关系型数据库管理系统之一,新手将了解到如何在Spring Boot项目中配置和使用MySQL数据库。 - 新手将学习到JPA(Java Persistence API)或MyBatis等ORM框架的使用,以及如何进行数据持久化操作。 4. **适合刚入门Spring Boot新手**: - 案例将采用简单明了的方式向新手介绍Spring Boot的核心概念和项目结构。 - 新手将能够学习到如何创建和运行一个简单的Spring Boot应用,并且理解Spring Boot应用的生命周期。 ### 标签解读与知识点 **标签**: "springboot入门" 1. **Spring Boot快速起步**: - 标签表示该项目是一个快速学习Spring Boot的起点。 - 新手将被引导学习Spring Boot项目的基础,例如如何使用Spring Initializr快速生成项目骨架、如何配置application.properties或application.yml等。 ### 文件名称列表解读与知识点 **文件名称列表**: sbm_sc 1. **项目结构分析**: - 虽然没有具体的文件名称列表,但可以推断这个压缩包里包含了实现上述描述功能所需的文件,如Java源代码、配置文件、前端资源和数据库脚本等。 - 新手将学习到如何组织和管理Spring Boot项目中的不同组件和文件。 2. **创建与部署**: - 为了深入理解如何搭建和运行项目,新手还需要掌握如何使用Maven或Gradle等构建工具进行依赖管理和项目构建。 - 还需要了解如何在本地开发环境和生产环境中部署Spring Boot应用,包括理解内嵌的Tomcat、Jetty或Undertow等服务器的作用。 通过以上对标题、描述、标签以及文件名称列表的分析,我们可以总结出一系列针对新手入门Spring Boot的详细知识点。这些知识点将帮助初学者建立起对Spring Boot框架的初步认识,并逐步深入学习其更高级的功能和原理。

相关推荐

filetype

import numpy as np import pandas as pd import os import xlrd from pandas import to_datetime import matplotlib.pyplot as plt import xlwt import datetime, time # 设置中文显示 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # === 问题一:数据加载与预处理 === inputdir = r'D:\\主桌面\\E题\\水表数据' df_empty = pd.DataFrame(columns=['水表名', '水表号', '采集时间', '上次读数', '当前读数', '用量']) # 遍历文件夹读取所有Excel文件 for parents, dirnames, filenames in os.walk(inputdir): for filename in filenames: df = pd.read_excel(os.path.join(parents, filename)) df_empty = df_empty.append(df, ignore_index=True) # 加载水表层级附件并清理缺失值 data_index = pd.read_excel('D:\\主桌面\\E题\\附件_水表层级(1).xlsx') data_index.dropna(axis=0, thresh=7, inplace=True) data = df_empty.copy() # 计算表显数据差值(问题一关键步骤) data_all['表显差值'] = data_all['当前读数'] - data_all['上次读数'] data_all['差值'] = data_all['表显差值'] - data_all['用量'] data_all['差值'].abs().sum() data_all = data_all[data_all['差值'].abs() == 0.01] # 过滤异常差值 # === 问题一:功能区用水量统计 === # 各水表总用水量 sbm_sl = data_all['用量'].groupby(by=data_all['序号']).sum() # 12个功能区总用水量 gnq_sl = data_all['用量'].groupby(by=data_all['功能分类']).sum() # 时间格式转换 data_all['采集时间'] = to_datetime(data_all.采集时间, format='%Y/%m/%d %H:%M:%S') gnq_sl.to_excel('D:\\主桌面\\E题\\功能区总水量.xls') # 输出结果 # 功能区按天统计用水量 gnq_day = pd.DataFrame(columns=['总表', '宿舍', '教学楼', '办公楼', '食堂', '科研楼', '运动场所', '后勤保卫', '校医院', '澡堂', '酒店', '图书馆', '其他']) for i in np.arange(13): temp = data_all[data_all['功能分类'] == i] temp.set_index('采集时间', inplace=True) gnq_day.iloc[:, i-1] = temp['用量'].resample('D').sum() gnq_day.to_excel('D:\\主桌面\\E题\\功能区每天水量.xls') # 输出日报表 # 功能区按月统计用水量 gnq_month = pd.DataFrame(columns=['总表', '宿舍', '教学楼', '办公楼', '食堂', '科研楼', '运动场所', '后勤保卫', '校医院', '澡堂', '酒店', '图书馆', '其他']) for i in np.arange(13): temp = data_all[data_all['功能分类'] == i] temp.set_index('采集时间', inplace=True) gnq_month.iloc[:, i-1] = temp['用量'].resample('M').sum() gnq_month.to_excel('D:\\主桌面\\E题\\功能区每月水量.xls') # 输出月报表 # 功能区按小时统计用水量 gnq_hour = pd.DataFrame(columns=['总表', '宿舍', '教学楼', '办公楼', '食堂', '科研楼', '运动场所', '后勤保卫', '校医院', '澡堂', '酒店', '图书馆', '其他']) for i in np.arange(13): temp = data_all[data_all['功能分类'] == i] temp.set_index('采集时间', inplace=True) gnq_hour.iloc[:, i-1] = temp['用量'].resample('H').sum() # 按小时聚合 # 注:此处省略输出代码,实际需添加类似 gnq_hour.to_excel(...) # === 问题二:水表层级数据处理(误差分析基础) === # 一级水表数据处理 sbm_1 = data_all[data_all['一级表计编码'].notnull()] sbm_1_yl = pd.DataFrame(columns=sbm_1['一级表计编码'].unique()) sbm_1_yl15 = pd.DataFrame(columns=sbm_1['一级表计编码'].unique()) for i in sbm_1['一级表计编码'].unique(): temp = sbm_1[sbm_1['一级表计编码'] == i] temp.set_index('采集时间', inplace=True) sbm_1_yl[i] = temp['用量'].resample('D').sum() # 按天汇总 sbm_1_yl15[i] = temp['用量'].resample('15min').sum() # 按15分钟汇总 # 一级水表总用水量计算(含异常值处理) for i in sbm_1['一级表计编码'].unique(): temp = sbm_1_yl[i] temp[temp > 5 * temp.mean()] = temp.mean() # 异常值替换为均值 sbm_1_yl = sbm_1_yl.fillna(0) zysl_yj = (sbm_1_yl.sum(axis=0)).sum() # 计算一级水表总用水量 # 二级水表数据处理(类似一级) sbm_2 = data_all[data_all['二级表计编码'].notnull()] sbm_2_yl = pd.DataFrame(columns=sbm_2['二级表计编码'].unique()) sbm_2_yl15 = pd.DataFrame(columns=sbm_2['二级表计编码'].unique()) for i in sbm_2['二级表计编码'].unique(): temp = sbm_2[sbm_2['二级表计编码'] == i] temp.set_index('采集时间', inplace=True) sbm_2_yl[i] = temp['用量'].resample('D').sum() sbm_2_yl15[i] = temp['用量'].resample('15min').sum() # 二级水表异常值处理与总用水量 for i in sbm_2['二级表计编码'].unique(): temp = sbm_2_yl[i] temp[temp > 5 * temp.mean()] = temp.mean() sbm_2_yl = sbm_2_yl.fillna(0) zysl_ej = (sbm_2_yl.sum(axis=0)).sum() # 二级水表总用水量 # 合并各级水表数据(用于后续误差分析) sbm_yl = pd.concat([sbm_1_yl, sbm_2_yl], axis=1) sbm_yl.to_excel('D:\\主桌面\\E题\\各级用量.xls') # 输出层级用水量 代码如上 报错内容如下 E:\Anaconda\python.exe "C:\Users\cheny\Desktop\PythonProject2\图3.一、二级水表表显用水量(年).py" Traceback (most recent call last): File "C:\Users\cheny\Desktop\PythonProject2\图3.一、二级水表表显用水量(年).py", line 7, in <module> import xlwt File "E:\Anaconda\Lib\site-packages\xlwt\__init__.py", line 5, in <module> from .Row import Row File "E:\Anaconda\Lib\site-packages\xlwt\Row.py", line 9, in <module> from . import ExcelFormula File "E:\Anaconda\Lib\site-packages\xlwt\ExcelFormula.py", line 8, in <module> from . import ExcelFormulaParser, ExcelFormulaLexer File "E:\Anaconda\Lib\site-packages\xlwt\ExcelFormulaLexer.py", line 53, in <module> _re = recompile( ^^^^^^^^^^ File "E:\Anaconda\Lib\re\__init__.py", line 228, in compile return _compile(pattern, flags) ^^^^^^^^^^^^^^^^^^^^^^^^ File "E:\Anaconda\Lib\re\__init__.py", line 307, in _compile p = _compiler.compile(pattern, flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "E:\Anaconda\Lib\re\_compiler.py", line 745, in compile p = _parser.parse(p, flags) ^^^^^^^^^^^^^^^^^^^^^^^ File "E:\Anaconda\Lib\re\_parser.py", line 980, in parse p.state.flags = fix_flags(str, p.state.flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "E:\Anaconda\Lib\re\_parser.py", line 957, in fix_flags raise ValueError("cannot use LOCALE flag with a str pattern") ValueError: cannot use LOCALE flag with a str pattern 进程已结束,退出代码为 1

filetype

Msg 512, Level 16, State 1, Server 10_0_24_9, Procedure sp_sdm_bom_many_select, Line 69 子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。 语句已终止。 Procedure execution failed [21000] [Microsoft][SQL Server Native Client 10.0][SQL Server]子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。 (512) [01000] [Microsoft][SQL Server Native Client 10.0][SQL Server]语句已终止。 (3621) WHILE @i < @arrayLength BEGIN SET @i = @i + 1; SET @result = REVERSE( SUBSTRING( REVERSE(SUBSTRING(@arrayStr, 1, CHARINDEX(',', @arrayStr + ',', @i) - 1)), 1, CHARINDEX(',', REVERSE(@arrayStr + ',')) ) ); SET @qty = REVERSE( SUBSTRING( REVERSE(SUBSTRING(@qtyNum, 1, CHARINDEX(',', @qtyNum + ',', @i) - 1)), 1, CHARINDEX(',', REVERSE(@qtyNum + ',')) ) ); SET @customer = REVERSE( SUBSTRING( REVERSE(SUBSTRING(@customers, 1, CHARINDEX(',', @customers + ',', @i) - 1)), 1, CHARINDEX(',', REVERSE(@customers + ',')) ) ); SET @keysByInfoSingle = REVERSE( SUBSTRING( REVERSE(SUBSTRING(@keysByInfo, 1, CHARINDEX(',', @keysByInfo + ',', @i) - 1)), 1, CHARINDEX(',', REVERSE(@keysByInfo + ',')) ) ); -- 定义 CTE WITH cte_sdm_bom_relation AS ( -- 定位点部分 SELECT matcode, matcode_parent, CAST(qty AS DECIMAL(18, 2)) AS qty, -- 显式转换为 DECIMAL(18, 2) unit FROM sdm_bom_relation UNION ALL -- 递归部分 SELECT u.matcode, u.matcode_parent, CAST(CAST(u.qty AS DECIMAL(18, 2)) * CAST(t.qty AS DECIMAL(18, 2)) AS DECIMAL(18, 2)) AS qty, -- 确保类型一致 u.unit FROM sdm_bom_relation u INNER JOIN cte_sdm_bom_relation t ON u.matcode_parent = t.matcode ) -- 使用 CTE 的查询 INSERT INTO @many_bom_result (keys_by_info, customer, rootcode, matcode, matcode_parent, qty, unit, spec, class_code) SELECT @keysByInfoSingle, @customer, @result, bom_list_res.matcode, bom_list_res.matcode_parent, bom_list_res.qty * CAST(@qty AS DECIMAL(18, 2)) AS qty, bom_list_res.unit, bom_list_res.spec, bom_list_res.class_code FROM ( SELECT matcode, matcode_parent, qty, unit, (SELECT spec FROM sbm_materiel m WHERE cte_sdm_bom_relation.matcode = m.matcode) AS spec, (SELECT classification_code FROM sbm_materiel m WHERE cte_sdm_bom_relation.matcode = m.matcode) AS class_code FROM cte_sdm_bom_relation ) AS bom_list_res; END

秧木子
  • 粉丝: 6
上传资源 快速赚钱