版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.2系统开发工具介绍深圳市信息职业技术学院——开发环境和UML建模开发工具和操作系统环境介绍01目
录NuGet包本地配置及升级说明02项目运行配置说明03UML建模04代码段的使用05知识回顾数据库的基础语法;数据库的基础操作;学习目标通过本节学习可以:掌握工业软件的项目运行配置;掌握工业软件UML建模工具的使用;掌握Nuget包本地是如何配置的;掌握代码段的使用;了解工业软件开发环境的操作系统;了解工业软件的开发用到的工具有哪些。01开发工具和操作系统环境介绍思考题工业管理软件开发的操作系统环境是?系统开发工具使用的是?操作系统环境介绍工业软件开发操作系统:只能在Windows操作下进行开发;操作系统内存:16G或以上;操作系统版本:Windows10或以上版本(Windows11家庭版除外);操作系统说明:1)windows11家庭版操作系统很多开发工具的安装都会受到影响;如SQLServer数据库、ODAC安装失败,创建不了ftp用户名密码等;2)检查电脑操作系统,如果操作系统为Windows11家庭版,可以升级到windows11专业版或者重装系统。开发工具介绍工业管理软件开发VS环境数据库MQ代码段Redis建模工具系统开发工具:VisualStudio2019或以上,VS2019以下不支持.netcore,工软BS开发使用的是.netcore框架开发的;数据库:支持oracle(11g或以上)、sqlserver(2012以上版本)和mysql(5.7或以上),工业软件中使用数据库较多的是Oracle,其次是SQLServer,MySql使用相对较少;Redis:session缓存信息的处理,工业管理软件中项目启动读取配置、数据库表映射、元数据、实体规则、模块定义等这些的处理都是Redis实现的;MQ:消息队列,一部分的系统间的异步传输实现使用的是MQ,大部分系统的传输使用的是接口实现的;建模工具:ModelFirst,UML实体建模,根据建模生成实体和界面类的代码是通过该工具实现的;代码段:用于在开发过程中快速生成代码片段,生成的代码片段包括实体属性和扩展属性,提升开发效率。02NuGet包本地配置及升级说明思考题工业管理软件平台程序集是通过什么进行管理的?Nuget包本地配置及升级说明NuGet包升级配置平台程序集是通过NuGet包进行管理的,系统开发依赖于平台程序集,在第一次获取项目程序进行开发之前需要将平台程序集的NuGet包进行本地项目配置及升级操作。操作步骤如下:1、解决方案项目用VS打开-->【工具】-->【NuGet包管理器】-->【程序包管理器设置】Nuget包本地配置及升级说明NuGet包升级配置2、进入到选项-->【程序包源】Nuget包本地配置及升级说明NuGet包升级配置3、升级NuGet包03项目运行配置思考题工业管理软件开发环境要确保哪几个工程能够运行成功才表示项目环境是OK的?项目运行配置项目运行配置工业管理软件的项目程序调试工程包括调度服务SIE.ScheduleServer、应用服务SIE.WebApiHost、Web服务WebClient、桌面端应用程序WpfClient;在开发阶段调试用到的工程为SIE.WebApiHost、WebClient、WpfClient,所以在项目开发前要确保这三个工程能够正常运行不报错,为后续代码开发出现异常减少排查时间和方便问题跟踪定位。SIE.WEBAPIHOST项目运行配置ApiHost项目运行配置将SIE.WebApiHost项目设置为启动项目(注意启动类型要以WebAPIHost启动
),检查SIE.WebApiHost的配置文件appsettings.json是否符合要求,需要检查的配置包括:数据库的配置、
Redis的配置(不配置使用内存缓存)、MQ的配置(未使用消息队列可以不配置)、日志的配置、上传方式的配置。SIE.WEBAPIHOST项目运行配置ApiHost项目运行配置配置无问题后,生成解决方案不报错,运行项目能够启动成功则表示SIE.WebApiHost环境OK。webclient项目运行配置WebClient项目运行配置将WebClient项目设置为启动项目,检查WebClient的配置文件appsettings.Development.json是否符合要求,需要检查的配置包括:数据库的配置、
Redis的配置(不配置使用内存缓存)、MQ的配置(未使用消息队列可以不配置)、日志的配置、上传方式的配置。webclient项目运行配置WebClient项目运行配置生成解决方案不报错,运行项目,能跳转到登录界面,输入用户名和密码能登录成功,说明WebClient开发环境OK。Wpfclient项目运行配置WpfClient项目运行配置将WpfClient项目设置为启动项目,检查WpfClient的配置文件appsettings.json是否符合要求,需要检查的配置包括:数据库的配置、MQ的配置(未使用消息队列可以不配置)、日志的配置、上传方式的配置。Wpfclient项目运行配置WpfClient项目运行配置生成解决方案不报错,运行项目,能跳转到登录界面,输入用户名和密码能登录成功,说明WpfClient开发环境OK。04UML建模思考题工业管理软件中UML建模是通过什么工具进行建模的?UML建模UML建模是软件工程中一种重要的工具和方法,它提供了一种统一的语言和符号体系,用于描述和设计软件系统的结构和行为,帮助开发人员更好地理解和沟通系统需求和设计;工业软件开发中UML建模是通过ModelFirst进行创建的,创建完成后使用模板生成代码拷贝到解决方案项目中;ModelFirst建模主要是建实体和实体之间的关系,实体类统一继承基类DataEntity,关系包含一般关系和组合关系。UML建模工具的使用UML建模工具的使用1、解压ModelFirst工具到对应文件夹下(免安装),使用EAP.ModelFirst.exe打开,可以右键将这个exe文件发送到桌面快捷方式,方便下次使用。UML建模工具的使用UML建模工具的使用2、创建工程,打开ModelFirst,在右边项目总管中,右键新建工程,双击创建类图。注意:使用modelfirst建模时,右边preject工程的层级最好跟项目的层级保持一致,这样生成的实体类拷贝到解决方案项目中就不用一个个去修改命名空间,也可以防止改漏的命名空间而引发的异常问题。UML建模工具的使用UML建模工具的使用3、创建实体类,如下图,可以在左边工具箱中把类型中的类或者枚举拖到中间创建,也可以右键新建-类。说明:使用ModelFirst建立模型,我们只使用到了类和枚举,接口和控制器等不要在UML建模中体现。UML建模工具的使用UML建模工具的使用4、创建属性。说明:属性名不能命名为Id,因为框架表的主键设置的为Id,这里的属性只建业务相关的属性,框架级别通用的属性框架有统一处理。UML建模工具的使用UML建模工具的使用5、创建关系。说明:这里的关系,常用关系为关联和组合关系;聚会关系没有在关系中体现,通过中间表实现的。UML建模工具的使用UML建模工具的使用6、组合关系说明:需要手动将箭头去掉,不去掉是单向关系。UML建模工具的使用UML建模工具的使用7、生成代码,BS的功能模型选择2018下的Entity和WebViewConfig。05代码段的使用思考题工业管理软件中视图属性的代码片段引入的快捷键是?普通属性的代码片段引入的快捷键是?代码段的作用1、SMOM代码段引入的目的是为了提升开发效率,将一段代码行提取出来,可以多次重复使用。2、SMOM引入的代码段包括属性和扩展属性,与ModelFrist实体建模的属性类似。3、代码段和ModelFrist是两种不同的实现方式,实现效果是一样的,对于新功能我们可以通过ModelFrist进行实体建模,项目原有功能上做二开增加属性可以通过代码段添加,效率会更高。4、实体和实体之间的属性一致,尽量不要使用复制操作,如果复制之后关联的实体名没有修改,功能会报错排查问题也比较麻烦;这种方式的操作尽量通过代码段实现。代码段的导入代码段的导入1、将代码段解压到对应文件夹下,点击VS中的“工具-代码片段管理器”。代码段的导入代码段的导入2、在弹出的“代码片段管理器”对话框中,语言选择“CSharp”。代码段的导入代码段的导入3、点击“添加”或者“导入”按钮,这里以“添加”为例。代码段的导入代码段的导入4、如下图代码片段能够查看到,表示添加或者导入成功,点击确定,即操作完成。注意:代码段不要重复添加,重新添加进来后使用代码段会显示多个,需要去选择操作。代码段的使用代码段的使用1、代码段导入成功后,在实体中输入“pfp”,代码片段能否显示出来,如果可以说明OK,如果代码片段不能出来重启VS再试试。代码段的使用代码段的使用2、输入pfp(视图属性代码段为pfv),两次tab键导入,修改备注和属性名(修改备注和属性名时鼠标定位到对应位置,不要来回切,会把关联的内容一起修改)。代码段注意事项代码段注意事项1、扩展列表属性使用代码段生成出来的注册扩展列表属性(RegisterListExtension)是错的,需手动调整为RegisterExtensionList。代码段注意事项代码段注意事项2、扩展属性默认关联的实体为Entity,Entity是我们实体的基类,一定要修改,不修改如果该属性要映射为数据库字段,会导致该数据库连接名下所有的表都映射该字段。练习1、工业管理软件开发中调试工程包括()A:SIE.ScheduleServer; B:SIE.WebApiHost;C:WebClient; D:WpfClient。2、工业管理软件中,网页端功能的项目运行启动使用的调试工程是()A:SIE.ScheduleServer; B:SIE.WebApiHost;C:WebClient; D:WpfClient。3、工业管理软件开发中通过代码段加入引用属性使用的快捷键是pfv。ABCDC错本章小结SMOM开发工具介绍建模工具及代码段的使用结束介绍了工业软件UML建模的工具,详细讲解了建模工具的使用,必须掌握;介绍了代码段的导入及使用,代码段的使用在开发过程中使用较多,必须掌握。开发环境及项目运行配置介绍了工业软件在什么操作系统下进行开发;介绍了工业软件涉及到的开发工具;详细讲解了Nuget包本地配置及升级,需要掌握;详细讲解了项目运行配置,这部分内容较重要需要掌握。THANKYOU深圳市信息职业技术学院——基础语法、基础操作4.2.3数据库常用介绍查询数据更新数据使用视图管理事务处理了解SQL使用存储过程知识回顾学习目标通过本节学习可以:重点学习如何查询数据重点学习如何更新数据掌握视图的使用掌握存储过程的使用了解如何管理事务处理01了解SQL了解SQLSQL(发音为字母S-Q-L或sequel)是结构化查询语言(StructuredQueryLanguage)的缩写。SQL是一种专门用来与数据库沟通的语言。SQL有如下的优点:SQL不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS都支持SQL,所以学习此语言使你几乎能与所有数据库打交道。SQL简单易学。它的语句全都是由有很强描述性的英语单词组成,而且这些单词的数目不多。SQL虽然看上去很简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。了解SQL使用PLSQLDeveloperPLSQLDeveloper工具是Oracle常用的数据库管理工具。在安装PLSQLDeveloper之前,要先安装好Oracle客户端。Oracle客户端的安装很简单,下载解压后放到某个目录下即可。安装Oracle客户端使用PLSQLDeveloperPLSQLDeveloper的安装很简单,按照提示安装即可。安装完后,打开PLSQLDeveloper,打开配置选项窗口,按下面说明进行配置,配置完后关闭并重新打开PLSQLDeveloper。安装和配置PLSQLDeveloper指定Oracle客户端的目录指定oci.dll的目录,在Oracle客户端目录下使用PLSQLDeveloper连接数据库需要知道数据库的IP、端口、服务名以及用户名和密码。连接数据库用户名密码ip:port/service_name02查询数据查询数据_检索数据SELECT
<列名>
FROM
<表名>
WHERE
<条件>;该SQL包含了SELECT、FROM以及WHERE三个子句。SELECT:子句用于指定要查询的列名称。FROM:子句指定查询的表名称。WHERE:子句指定过滤数据的条件。一般来说,以分号作为单个SQL语句的结尾,但不是强制的。如果有多个SQL语句,可以使用分号区分不同的SQL,所以加上分号是一个好习惯。基本查询语法查询数据_检索数据SELECTdnameFROMdept;把要查询的列放在SELECT子句后面,非常简单。检索单个列查询数据_检索数据SELECTdeptno,dname,locFROMdept;指定检索多个列,列与列之间使用逗号分隔开。如果检索所有列,可以显示指定所有字段,也可以只指定*,*表示所有字段,如下所示:SELECT*FROMdept;检索多个列查询数据_检索数据SELECTjobFROMemp;如果希望去掉上面重复的数据,比如SALESMAN只显示一个,可以加上DISTINCT关键字去重:SELECTDISTINCTjobFROMemp;去除重复数据查询数据_检索数据SELECTdeptnoASno,dnameASname,locFROMdept;当字段命名较长时,可以使用别名简化。如果是表达式,可以使用别名命名,比如a+bASsalary。当从多张表查询数据时,如果有相同的字段,可以使用别名进行区分。指定别名查询数据_排序数据SELECT*FROMempORDERBYjob;通过使用ORDERBY子句对数据排序。如果不排序,数据一般将以它在底层表中出现的顺序显示,这有可能是数据最初添加到表中的顺序。排序数据查询数据_排序数据SELECT*FROMemptORDERBYsal,ename;可以指定按多个列排序,使用逗号隔开。首先会按前面的字段排序,如果值相同则按后面的字段排序。按多个列排序查询数据_排序数据SELECTempno,ename,job,mgr,hiredate,sal,commFROMempORDERBY2,3;SELECT子句先于ORDERBY执行,所以在排序时可以得到字段所在位置然后进行排序。按列的位置排序查询数据_排序数据SELECTempno,sal,ename,job,mgrFROMempORDERBYsalASC,enameDESC;ASC表示升序,默认排序方式,DESC表示降序。如果想在多个列上进行降序排序,必须对每一列指定DESC关键字。指定排序方向查询数据_过滤数据比较运算符查询数据_过滤数据SELECT*FROMempWHEREjob='MANAGER';要查询某个值的数据,可以使用=运算符判断。匹配过滤一般把字段放左边,具体值放右边字符串类型要放到引号内,即使这个字串符是数值查询数据_过滤数据SELECT*FROMempWHEREjob<>'SALESMAN';SELECT*FROMempWHEREjob!='SALESMAN';可以使用<>也可以使用!=,不过有的数据库不支持!=,建议使用<>。不匹配过滤查询数据_过滤数据SELECT*FROMempWHEREsal>3000;SELECT*FROMempWHEREsal<1800;SELECT*FROMempWHEREsal>2000ANDsal<3000;SELECT*FROMempWHEREsal>=1250ANDsal<=1600;SELECT*FROMempWHEREsalBETWEEN1250AND1600;范围过滤..between..and....>=..and..<=..查询数据_过滤数据SELECT*FROMempWHEREcomm=NULL;SELECT*FROMempWHEREcommISNULL;SELECT*FROMempWHEREcommISNOTNULL;SELECT*FROMempWHEREcomm<>300;当碰到NULL值时,会被判定为不满足条件,所以这里不会查出NULL值的数据。需要添加下面的条件才能把NULL的数据查出来:SELECT*FROMempWHEREcomm<>300ORcommISNULL;空值过滤这种方式无法查询为空值的数据针对空值,需要使用ISNULL或ISNOTNULL不会把查询出包含NULL的数据查询数据_过滤数据SELECT*FROMempWHERENOT(job='SALESMAN’);WHERE子句中的NOT操作符有且只有一个功能,那就是否定其后所跟的任何条件。这里当匹配条件时返回TRUE,然后NOT取反得到FALSE,这样匹配条件的数据被过滤了,查出的是未匹配的数据。NOT运算符查询数据_过滤数据SELECT*FROMempWHEREjob='SALESMAN'ANDsal>1300;SELECT*FROMempWHEREjob='SALESMAN'ORdeptno=30;AND运算符在其两侧的查询条件都成立时整个查询条件才成立,其意思相当于“并且”。OR运算符在其两侧的查询条件有一个成立时整个查询条件都成立,其意思相当于“或者”。AND、OR运算符需两侧条件同时成立仅需其中一个条件成立查询数据_过滤数据SELECT*FROMempWHEREjobIN('CLERK','PRESIDENT’);SELECT*FROMempWHEREjob='CLERK'ORjob='PRESIDENT';取出CLERK和PRESIDENT的所有数据,功能上与OR是一样的。当值特别多时,相比较OR而言,使用IN书写会更简洁。IN运算符得到的结果是一样的查询数据_过滤数据SELECT*FROMempWHEREsal+comm=1900;可以拿字段进行计算形成一个新的字段。既可以在WHERE子句也可以在SELECT子句对字段进行计算。SELECTsal+comm,t.*FROMemptWHEREsal+comm=1900;计算字段查询数据_过滤数据SELECT*FROMempWHEREename||','||job='ALLEN,SALESMAN';可以使用||把字符串拼接起来形成一个新的字段,有些数据库使用+拼接。既可以在WHERE子句也可以在SELECT子句对字段进行拼接。SELECTename||','||job,t.*FROMemptWHEREename||','||job='ALLEN,SALESMAN';
拼接字段查询数据_模糊匹配在条件中可以使用通配符%或_进行模糊匹配,%表示匹配多个任意字符,_只能匹配一个任意字符。SELECT*FROMempWHEREenameLIKE'J%’;查出J开头的所有数据,不管J后面有多少个字符。SELECT*FROMempWHEREenameLIKE'%N';查出以N结尾的所有数据,不管N前面有多少个字符都能匹配出来。SELECT*FROMempWHEREenameLIKE'%AR%';查出只要包含了AR的所有数据,不管AR前后有多少个字符。模糊匹配查询数据_聚合数据SELECTCOUNT(*),SUM(sal),MIN(mgr),MAX(mgr),AVG(sal)FROMemp;聚合函数用于对所有数据或分组数据进行计算。COUNT统计行数,SUM汇总,MIN统计最小值,MAX统计最大值,AGV计算平均值;聚合函数会忽略NULL值,在使用COUNT的时候要特别注意,如果指定的是*不会忽略NULL值,如果指定的是某个字段,该字段有NULL会被忽略,意味着所在行不会被统计。SELECTCOUNT(*),COUNT(mgr)FROMempt;聚合函数其中一行的MRG是NULL不会被统计查询数据_聚合数据可以使用GROUPBY子句对数据进行组,GROUPBY后面指定分组字段,会把字段值相同的视为一组,然后可以基于分组进行统计。如果分组列中包含具有NULL值的行,NULL值将单独划分为一组。SELECTjob,COUNT(*),SUM(sal),AVG(sal)FROMempGROUPBYjob;分组数据查询数据_聚合数据在分组后,可以使用HAVING子句对分组统计进一步过滤。HAVING是基于分组计算过滤的,必须结合GROUPBY子句一起使用。SELECTjob,COUNT(*),SUM(sal),AVG(sal)FROMempGROUPBYjobHAVINGCOUNT(*)>2;该示例统计出了每个分组超过两行的数据:过滤分组03更新数据更新数据_插入数据INSERTINTO<表名>(字段1,字段2,…)VALUES(值1,值2,…);INSERTINTOemp(empno,ename,job,mgr,hiredate,sal,comm,deptno)VALUES(7935,'XIAOLI','CLERK',7566,to_date('1985-1-23','yyyy-mm-dd'),1200,NULL,20);在表名旁边指定字段名称,在VALUES子句中指定字段对应值。如果对所有字段赋值,可以不用指定这些字段名称,只要在VALUES子句指定列值即可。如果仅对部分字段赋值,那么就必须指定这些字段名称。对于设置为非空的字段,必须要赋值。INSERTINTOemp(empno,ename,job,mgr,hiredate,sal,comm,deptno)SELECT7935,'XIAOLI','CLERK',7566,to_date('1985-1-23','yyyy-mm-dd'),1200,NULL,20FROMdual;可以把查询语句的数据插入到表中,意味着可以通过这种方式把多行的数据插入到表中。插入数据更新数据_修改、删除数据UPDATE<表名>SET字段1=值1,字段2=值2,字段3=值3,…WHERE;UPDATEempSETename='XIAOLI2'WHEREempno=7935;修改满足条件的数据。DELETEFROM<表名>WHERE...;DELETEFROMemp;删除所有数据。DELETEFROMempWHEREempno=7935;删除满足条件的数据。注意:为了防止误修改和删除,在执行前要仔细检查,有条件的话要先做备份。修改、删除数据04使用视图更新数据_使用视图视图并不存放数据,相当于一张虚拟表,里面包含了一段SQL语句,然后基于这个视图查询数据。使用视图查询数据的好处如下:重用SQL语句。简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道其基本查询细节。使用表的一部分而不是整个表。保护数据。可以授予用户访问表的特定部分的权限,而不是整个表的访问权限。更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据。了解视图更新数据_使用视图SELECT*FROMempa,deptbWHEREa.deptno=b.deptno;针对这两张两表联结的查询,可以将其创建为视图:CREATEVIEWemp_allASSELECTa.empno,a.ename,a.job,a.mgr,a.hiredate,a.sal,m,a.deptno,b.dnameFROMempa,deptbWHEREa.deptno=b.deptno;通过视图可以简化查询语句:SELECT*FROMemp_all;创建视图05使用存储过程更新数据_使用存储过程存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。使用存储过程的原因:通过把处理封装在一个易用的单元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海济光职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年上海思博职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 网红营销渠道-洞察分析
- 舞台灯光自动化技术标准-洞察分析
- 现代文学课程资源开发-洞察分析
- 2025年度金融产品代理合作协议合同范本3篇
- 五年级数学(小数乘法)计算题专项练习及答案汇编
- 一年级数学计算题专项练习汇编
- 2020-2025年中国网上订餐行业发展趋势及投资前景预测报告
- 2023-2029年中国茶叶连锁经营行业市场发展监测及投资潜力预测报告
- 《药品招商营销概论》课件
- 2025年病案编码员资格证试题库(含答案)
- 2025新译林版英语七年级下单词表
- 新疆2024年中考数学试卷(含答案)
- 2024-2030年中国连续性肾脏替代治疗(CRRT)行业市场发展趋势与前景展望战略分析报告
- 跨学科主题学习:实施策略、设计要素与评价方式(附案例)
- 场地委托授权
- 2024年四川省成都市龙泉驿区中考数学二诊试卷(含答案)
- 项目工地春节放假安排及安全措施
- 印染厂安全培训课件
- 红色主题研学课程设计
评论
0/150
提交评论