- 浏览: 853507 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
贝塔ZQ:
读取excel文件,插件pageoffice也可以实现。
POI读写Excel文件(转)- - -
springmvc-freemarker:
java开源项目源码实例下载
java开源项目源代码 -
xuning2516:
第一种方法是个死循环啊。。。
Java NIO 拷贝文件(使用compact) -
u012046856:
...
SessionFactory.getCurrentSession与openSession的区别 -
Season_Wang:
赞一个呀,挺实用的
java swing 中的FileDialog
http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0708ahadian/index.html
大多数业务都建立在信息管理系统的基础上,而这些信息管理系统主要的底层基础设施又是基于存储在一个或多个关系数据库中的数据。这些系统由一些软件程序组成,这些软件程序专门用于信息处理,并且是以 Java 之类的托管语言实现的。
作为一种以封装、继承和多态为特征、易于使用、基于面向对象的语言,Java 一方面用于实现信息处理程序的计算和逻辑方面,另一方面则用于访问和操纵关系数据。Java 按照对象 来定义信息,而数据库则使用 行 。对象是其所属类的惟一实例,在物理上,对象之间互有区别。同样,关系数据库中的行也是惟一的,它们由主键值标识。另一方面,对象是独立的,只要还被一个或多个其它对象引用,它就继续存在着。而行被包含在表当中,当被从表中删除时,也就随之消失。
因此,虽然对象与行在很多方面相似,但对象对于模块化编程的内在价值在于可伸缩性、可扩展性和高效的代码维护,这是通过 对象化(objectization) 抽 象关系行的设计基础。我们把对象化定义为这样一种过程:将面向对象的基本概念(封装、继承和多态)引入到使用 SQL 执行的指令式的、内联的数据查询实践。简言之,对象化就是创建无缝对象的过程,使用的方法可以通过纯面向对象范例执行数据库操作(包括创建、替换、更新和 删除)。
对于通过对象化来编程式地访问和操纵关系数据,最流行的方式是通过一些 API 和包装器,这些 API 和包装器提供了一个或多个编写为文本字符串的 SQL 语句。整个关系数据处理都是基于这些封装的 SQL 语句的,它们是程序逻辑的重要组成部分。但是,这些 SQL 语句对于 Java 语言不是透明的,不能享受编译时优化和语义及语法验证的好处 —— 更不用说诸如内容辅助之类可以在底层设计和实现过程中节省大量时间的设计时特性了。
因此,在提高程序员的效率和生产率时,一个主要的挑战是将关系数据转换为可通过自然的面向对象方式无缝使用的对象,从而编写底层代码。要实现这种转换,需 要很好地理解如何安排数据访问 API 调用的顺序,并从技术上理解底层的数据访问编程模型(例如 JDBC),此外,还需要具备优秀的编程技能并能够将软件(尤其是它的数据访问层)拆分成多个模块化部分。
pureQuery 项目为数据库应用开发人员提供了一套基于 GUI 且易用的方法,它能够显著提高应用程序的设计和实现阶段的生产效率。通过将关系数据自动转换为 Java 对象的实现方式,方便了用户对数据的访问和操纵。将关系数据转换为 Java 对象后,就可以很自然的通过面向对象编程范例无缝地利用这些对象来编写业务逻辑和底层代码。通过将查询语言与 Java 本身相集成,pureQuery 可以代替传统的 JDBC 编程。
本文对 pureQuery 进行了概述,并提供一个详细的场景,以展示 pureQuery 如何显著提高程序员的生产率。
![]() ![]() |
![]()
|
pureQuery 是一个基于 Eclipse 的、可插拔的组件,它可以与 Eclipse 集成开发环境(IDE)无缝集成。它自动提供设计和运行时方式,可将关系数据作为对象管理。这种设计使开发人员可以指定一个数据库连接(例如使用 DB2®),然后使 Eclipse Java 项目能够识别底层的数据库工件(例如表、存储过程等)。在建立连接并完成所有数据库工件的自动发现之后,用户可以通过 GUI 直观地将任何底层关系表实体转换成 Java 对象。这是通过自动生成相关 SQL 语句和自动创建封装这些语句的父 Java 对象来实现的。然后,还可以在一个自然的 Eclipse IDE 编程环境中,使用充分集成的 SQL 和 Java 编辑功能对生成的 Java 对象和其中包含的 SQL 语句进行进一步定制。
Java 编辑器与 SQL 的紧密集成可以提高编程生产率,提供无缝的设计时体验,并在编写 Java 代码时简化 SQL 编码。编辑器集成包括设计时编译过程中完全支持的语义和语法验证、内容辅助、语法着色以及在 Java 中动态、选择性执行 SQL,当出错时,像处理 Java 错误一样在错误面板中进行标记。
而且,设计和运行时之间的紧密联合,使得 SQL 语句可在设计时运行。运行 SQL 语句时,将考虑所使用的全部主机变量和参数,以预览结果集,并自动回滚执行 SQL 语句导致的副作用。
此外,在设计时,可通过启动 Visual Explain 对选择的 SQL 语句进行性能分析,为查询请求的优化器实现提供可视化表示。查询请求被拆分成不同的部分,每个部分用图标表示。Visual Explain 还包括关于查询优化器所考虑和选择的数据库对象的信息。Visual Explain 提供了对查询实现的详细表示,在设计时就可以从集成的 SQL-Eclipse Java 编辑器中轻松找到造成昂贵成本的原因。
pureQuery 系统提供三种不同的方式来将关系访问层转换成基于对象的模型。
-
数据库驱动的对象化(Database-driven objectization,DDO):
pureQuery 的最常见用法是选择一个表,然后生成用于数据访问和操纵(即创建、替换、更新、删除)的对象。此时,pureQuery 生成基于面向对象的类和接口,用于在所选表上执行 CRUD 操作。它还生成一个特殊的类,这个类可用于对创建的对象进行单元测试。实际上,这是一个表到 Java 的转换,其中,根据底层表的特征生成以 Java 为中心的 CRUD 操作。在 概览 小节中我们将对此作详细讨论。 -
查询驱动的对象化(Query-driven objectization,QDO):
通常,需要从一组已有的数据库查询语句(SQL)实现应用程序构建。这时就需要基于已有的查询语句生成对象层次,这些查询语句又可用于构建底层的应用程 序。实际上,这是一个 SQL 到 Java 的转换,此转换过程将查询语句无缝地转换为以 Java 为中心的对象。在 pureQuery 系统中,只需单击选中一个查询语句,利用直观的 GUI 方式(弹出的上下文菜单),就可以很容易地生成相关的对象类层次。该系统实际上利用作为解析查询语句的结果的元数据(或者通过它所维护的来自底层数据库连 接的元数据)自动生成所需的对象类。 -
对象-关系映射(ORM):
有 时候已经存在表示一个关系表的 bean 类,但是还不存在该类与所需的数据库表之间的实际链接。pureQuery 凭借其丰富的内容辅助基础设施提供了一种直观的机制,可以执行类名到底层数据库中给定表名之间的一对一映射,并能够将类的受保护(或公共)变量映射到表中 的列。实际上,这是一个 Java 到 SQL 的转换,此转换过程将以 Java 为中心的实体无缝地转换成基于 SQL 的 CRUD 操作。
有时候,已经存在一个 bean 类,其中包含所有需要的关系映射元数据,但是这个类所映射的底层物理表却丢失了。pureQuery 提供了直观的 GUI 方式来根据 bean 类生成所需的 DDL 语句,以创建所需的底层数据库工件(即表和列)。
![]() ![]() |
![]()
|
接下来的小节将介绍 pureQuery 的最常见用法,包括 pureQuery 对象化过程 小节中介绍的 DDO 过程、QDO 过程和 ORM 过程 。最后,对 pureQuery 与 Eclipse Java Editor 的紧密集成和它所提供的附加特性作一个概述。这包括设计与运行时之间的联合,从而测试 SQL 语句的运行。
在尝试下面的场景之前,应确保已安装以下软件:
- DB2 for Linux®, UNIX®, and Windows® Version 8.0 或更高版本,以及附带的 SAMPLE 数据库
- Developer Workbench Version 9.5
- pureQuery plug-in Version 1.0
在本文 参考资料 小节中可以找到用于下载 DB2 和 IBM Viper Developer V9.5 Open Beta (含 Developer Workbench 和 pureQuery 插件)的链接。
在本节中,我们研究一个简单的雇员场景,该场景的目的是以面向对象范例编程式地访问和操纵雇员数据。
下面的步骤将创建一个可感知 pureQuery 的 Java 项目,该项目将 DB2 SAMPLE 数据库中的 Employee 表转换成一个对象模型,后者可在任何 Java 应用程序中以一种自然的、面向对象的方式使用。
使用 pureQuery 开发数据库应用程序的设计模式由以下基本步骤组成:
- 创建一个 Eclipse Java 项目
- 将 Java 项目连接到一个数据库连接上
- 通过自动 pureQuery 代码生成功能将底层连接中的所有给定数据库表工件转换成 Java 对象
- 通过直观的编辑、测试运行和调试进一步定制
步骤 1. 在 Eclipse IDE 中创建 Java 项目
在创建 Java 项目时,应确保创建 source 和 bin 文件夹。将项目命名为 “Personnel”。
步骤 2. 为 Personnel Java 项目启用 pureQuery 支持
- 右键单击 Personnel
Java 项目,在弹出菜单中选择
Add pureQuery Support
。
图 1. 为 Eclipse Java 项目启用 pureQuery 支持
要查看放大后的图像,请单击 这里 。
这时会打开 Add pureQuery Support 向导,通过该向导可以为 Java 项目启用 pureQuery。
- 该向导的第一页包括一些常规选项。可以保留默认值。最重要的是,要确保选中 Import required pureQuery JAR files into project
旁边的复选框。这是因为 pureQuery 有它自己特定的设计和运行时 JAR 文件,必须将这些文件包括在 Java 项目中。
图 2. Add pureQuery Support 向导:pureQuery 常规选项页面
单击 Next 进入 Add pureQuery Support 向导的下一个页面。
- 接下来创建数据库连接。该页面显示所有已发现的数据库连接。从列表中选择一个数据库连接。如果不存在连接,该向导将指导您创建一个新的连接。对于这个例子,选择 SAMPLE
数据库,Employee 表就在这个数据库中。
图 3. Add pureQuery Support 向导:pureQuery 数据库连接页面
- 单击 Finish 按钮关闭该向导,进入提供 pureQuery 支持的 Personnel Java 项目。
步骤 3. 将关系工件转换为 Java 对象并自动生成 pureQuery 代码
建立数据库连接后,这个 Java 项目就可以感知数据库了。这将导致特定连接上的所有数据库工件都会在 IDE 的 Database Explorer 树型视图中自动显示,如图 4 所示。
图 4. 包含 SAMPLE 数据库中所有工件的 Database explorer
要查看放大后的图像,请单击 这里 。
pureQuery 的威力在于,它能够自动生成将底层关系数据库表工件转换成 Java 对象所需的代码。只需选中所需的数据库工件,然后启动 pureQuery Code Generation 向导,就可以自动生成代码。
下面的步骤将关系工件转换成 Java 对象,并自动生成 pureQuery 代码:
- 对于本例,从数据库浏览器树型视图中选择 Employee
表节点,然后在该节点上单击鼠标右键,如图 5 所示。
图 5. 将 Employee 表转换为 Java 对象:自动生成 pureQuery 代码
要查看放大后的图像,请单击 这里 。
- 从弹出菜单中选择 Generate the pureQuery code
选项。
这时会打开 Generate pureQuery Code 向导,如图 6 所示。
图 6. pureQuery Code Generation 向导
- 指定 Java Bean General 选项。
如 图 6 所示,Generate pureQuery Code for a Table 向导的第一页包含一些用于描述一个表示 Employee 表的 bean 类的属性。可以保留其中的默认值。我们来研究其中一些属性:
- Source folder :该字段指定用于保存生成的 Java 文件的物理位置。可以保留默认值: Personnel/Src 。
-
Name
:
该字段表示生成的 Java Bean 的名称。默认情况下,这个 bean 的名称与之前在 Database Explorer
中选择的、为之生成 pureQuery 代码的数据库表工件(在此即为
Employee)的名称相同。可以更改这个名称,但最后生成的文件中会有一个标注,以表明这个 bean 与相应的数据库表工件之间的映射。
对于这个例子,将这个名称改为 MyEmployee 。于是,生成的标注为:
@Table(name="EMPLOYEE", schema="DB2ADMIN")
- Generate annotated-method interface for table : 这将导致生成一个 Interface 文件,该文件包含数据库 Create/Update/Delete/Insert 方法。这些方法实际上为前面 1.0 小节描述的数据库行的对象化提供了便利。当构建项目时,还会生成该接口的一个默认的实现,其中包含所有需要的 SQL 语句。注意,默认的接口名称也是可以更改的。
- Generate test class for annotated-method interface for table :这将导致生成一个特殊的类,这个类可用于对 bean 接口进行单元测试。这个测试类的名称可以更改。
-
Generate test class for Inline-method style
:
这将导致生成一个包含显式的内联 SQL 语句的文件,默认情况下,这些 SQL 语句将被生成为接口实现的方法。通过一个简化的
API,可以以一致的方式使用 SQL 来查询各个数据源。可以对应用程序进行配置,使其静态地运行数据库
SQL,而不会影响编程或用户体验。测试类的名称也可以修改。
- 注意,无论出现上述哪一种情况,都可以通过选择 Generate JUnit test cases 复选框,请求系统自动生成一组 JUnit 测试实例。
- Include Connection information and user name :该选项可以将连接字符串和用户名包括在所有生成的测试类中。
- 指定如何定义生成的 bean 变量。
在该向导的第二个页面(如图 7 所示),可以指定生成 public 还是 protected 字段,是否包含 public 访问方法。
图 7. 定义 bean 字段
还可以更改 bean 变量的名称(默认情况下,bean 变量的名称与 Employee 表列的名称相同)。注意,对于变量名与其所映射的列的名称不相同的每个变量,会生成一个专门的标注。标注的格式如下所示:
@Column(name="name of the table column")
该标注被放在变量声明之前。例如,在这个例子中,将 Bean 字段名称 firstnme 改为 firstnme_new 。于是,Java 文件中生成的、放在声明之前的标注为:@Column(name="FIRSTNME") protected string firstnme_new
对于其他所有不同于表列名的变量名也是如此(见 图 9 )。
对于这个例子,确保选中 Protected Fields with Public accessor methods 。还可以将变量类型改为与其映射的列数据的类型不相同的类型。
- 指定所生成的 SQL 语句的风格。
在该向导的最后一个页面中(见图 8),可以选择生成不同风格的 SQL 语句。对于这个例子,选择 Generate all SQL statements 。
图 8. 生成不同风格的 SQL 语句
- 单击 Finish 生成 pureQuery 代码。
单击 Finish 按钮时,该向导除了生成以下 5 个完成 pureQuery 对象化过程 小节中描述的 DDO 过程的主要文件以外,还生成一个实用包。我们来看看生成的工件有哪些:
-
构成对象层次的文件
-
MyEmployee.java
(见图 9):这是主 bean 类。这个类包含一些变量及其相应的访问方法,这些变量与 Employee 表中的列存在 1 对 1 的映射。
图 9. 表示 Employee 表的 Java bean 类
要查看放大后的图像,请单击 这里 。
-
MyEmployeeData.java
(见图 10):这是抽象数据库访问层的文件,用于数据查询和操纵。它包含一些抽象方法,实现这些方法的惟一目的是在底层表上执行 CRUD 操作。
图 10. 包含用于 CRUD 操作的接口的 MyEmployeeData.java
要查看放大后的图像,请单击 这里 。
-
MyEmployeeDataImpl.java
(见图 11):这是前面提到的 MyEmployeeData 接口的默认实现。该实现包含封装所有用于数据访问和操纵的 SQL 语句的方法。
请注意: 该文件当且仅当项目构建时生成。可以通过从主 Eclipse IDE 菜单中设置 Build Automaticallyoption of the Project 来构建项目,或者由开发人员手动构建项目。
图 11. 包含接口方法实现的类
要查看放大后的图像,请单击 这里 。
-
MyEmployeeDataTest.java
(见图 12):这是由 pureQuery 系统生成的默认类,这个类可用于单元测试。它包含一个 static main 函数,该函数实际上用于测试实现类(即 MyEmployeeDataTest.java)中所有方法的运行。
图 12. 生成的类可用于单元测试
要查看放大后的图像,请单击 这里 。
-
MyEmployeeInLineSample.java
(见图 13):当且仅当 Generate Sample Class With Inline method call syntax
选项被选中时,才会生成该文件。实际上,这将通过 pureQuery 的运行时 API 使用内联风格的方法调用测试所有生成的 SQL 语句。
图 13. 自动生成的测试类可以内联运行生成的 SQL 语句
要查看放大后的图像,请单击 这里 。
-
MyEmployee.java
(见图 9):这是主 bean 类。这个类包含一些变量及其相应的访问方法,这些变量与 Employee 表中的列存在 1 对 1 的映射。
-
实用包
除了前一小节提到的那些文件以外,pureQuery 系统还生成一个实用包,其中包含一个名为 SampleUtil.java 的文件(见图 14)。该文件包含很多常见的静态实用函数(例如获取连接、打印等),例如,生成的测试类(即 MyEmployeeDataTest.java)可以使用这些函数打印输出结果,以及创建底层数据库连接。
图 14. 自动生成的示例类包含很多常见的静态实用函数
要查看放大后的图像,请单击 这里 。
![]() ![]() |
![]()
|
给定一个或多个 SQL 语句,通过 pureQuery 可以直观地为关系数据访问层自动创建对象层次。下面的逐步讲解将演示 pureQuery 仅根据给定的 SQL 语句创建对象模型的功能。
- 打开 DDO 案例场景 小节中创建的 Eclipse Java Personnel 项目。
- 在项目中添加一个新的 Java 文件,并在其 Main 方法中包括以下 SQL 语句:
SELECT BIRTHDATE, BONUS, COMM, EDLEVEL, EMPNO, FIRSTNME, HIREDATE, JOB, LASTNAME, MIDINIT, PHONENO, SALARY, SEX, WORKDEPT from EMPLOYEE
- 在 SQL 语句中的任何位置单击鼠标右键,从弹出的上下文菜单中选择
pureQuery Assist -> Generate SQL Bean
选项。这将打开
Create Bean for a SQL Result Set
向导。
图 15. 根据 SQL 语句创建 bean
要查看放大后的图像,请单击 这里 。
- 在第一个页面中,为生成的 Bean 类指定一个名称。对于这个例子,输入 “MySQLEmployee” 并单击 Next
按钮。
图 16. 指定根据 SQL 语句生成的 Bean 类的名称
- 在该向导的第二个页面中,可以指定如何定义 bean 字段。对于这个例子,可以保留默认值。还可以将变量类型改为与它所映射的列的数据类型不同的类型(见图 17)。
图 17. 指定 bean 字段
- 单击 Finish 按钮。这将生成 bean 文件 MySQLEmployee.Java。
为了创建接口和默认实现类,可以像下一小节描述的那样使用 pureQuery 的 ORM 过程。
![]() ![]() |
![]()
|
给定一个 Java bean 类,通过 pureQuery 可以直观地将该类的成员映射为底层数据库表中的任何给定的关系实体。
注意需要根据表模式和相关规则 来进行设计时映射。例如,虽然在运行时可以将 double 类型的变量映射到 XML 类型的表列,但是这可能导致不可预测的运行时结果,并因此而产生错误。下面的例子演示了这种映射。
- 打开 DDO 例子 中创建的 Eclipse Java Personnel 项目。
- 为了演示 ORM 特性,可以使用一个已有的 bean,也可以使用表示数据库中某个表的 Java 用户定义类。在这个例子中,我们使用一个已有的 bean,所以删除 MyEmployee.Java 之外的所有生成的 Java 文件。
图 18. 将一个 bean 映射到一个关系表
要查看放大后的图像,请单击 这里 。
- 在编辑器中打开 MyEmployee.Java 类,在类名的上面添加以下标注:
@Table (name = "EMPLOYEE", Schema = "DB2ADMIN")
该标注执行类名与底层数据库表之间的实际映射。
- 在要映射的每个字段/变量的上面添加以下注释。在这个例子中,我们只映射 BIRTHDAY 和 FIRSTNME 字段,因此在 BIRTHDAY 变量名之上添加
@Column (name = "BIRTHDAY")
,在 FIRSTNME 变量名之上添加@Column (name = "FIRSTNME")
(见图 19)。
图 19. 标注创建主机变量与表列之间的映射
要查看放大后的图像,请单击 这里 。
- 在编辑器中,在 MyEmployee 类中的任何地方单击鼠标右键,从弹出的上下文菜单中选择 pureQuery Assist -> Generate pureQuery CODE 选项。这将打开 Generate pureQuery Code for a Table 向导,该向导最终将生成相关的 pureQuery 代码(包括接口文件、测试类、实现代码等)。
注意,由于 Java bean 类已经存在,该向导的 Bean Field 页面被省略,没有提供给用户。
![]() ![]() |
![]()
|
pureQuery 的内容辅助以及与 Java 编辑器的紧密集成
pureQuery 提供的最强大的一个特性是 SQL 与 Java 在同一个编辑器中的无缝集成。这种紧密集成为 Java 和 SQL 提供了一组相同的设计时特性,包括代码辅助、语法验证和着色,以及 SQL 语句的语义验证。
代码辅助提供:
-
SQL 语句完成(SQL statement completion )
当输入 SELECT 之类的 SQL 关键字时,或者在期望一个操作符时,就会出现一个上下文窗口,其中显示用于完成语句的可能的方式。
图 20. 语句完成
要查看放大后的图像,请单击 这里 。
-
内容辅助(Content Assist)
显示一组可能的实体名称,与一个给定的关系工件(例如一个表、模式等)相关,或者当需要在一个语句中指定参数时显示一组 Java 主机变量(见图 21 和 22)。
图 21. 内容辅助
要查看放大后的图像,请单击 这里 。
图 22. 主机变量内容辅助
要查看放大后的图像,请单击 这里 。
-
快速修复(Quick Fix)
提供一种内联动态语法验证机制,通过这种机制可以检测并快速修复拼写错误之类的错误。
图 23. 快速修复:Select 关键字被误拼为 Selct
要查看放大后的图像,请单击 这里 。
-
自动发现数据库定义
(见图 24 和 25),通过该特性,只需点击选择任何一个 bean
成员名称,就可以快速跳转到数据库浏览器中的数据库定义(例如,点击映射一个表名的类名就会跳转到数据库浏览器中的表节点,点击映射列名的变量名就会跳转
到数据库浏览器中的列节点,依此类推)。
图 24. 点击选择 bean 类中的成员名称
要查看放大后的图像,请单击 这里 。
图 25. 点击选择将跳转到数据库浏览器
要查看放大后的图像,请单击 这里 。
![]() ![]() |
![]()
|
pureQuery 的设计时功能当中最优越的一个特性是它能在编辑器中动态地运行任何给定的 SQL 语句。这个独特的特性使得在设计时能够动态执行 SQL 语句并允许回滚。
在 Java 编辑器中,要查看这个特性,只需在任何生成的 SQL 语句上单击鼠标右键。从上下文菜单中选择 pureQuery Assist -> Run SQL (见图 26)。 这将执行该 SQL 语句,并在 Eclipse IDE 的 Data View 中显示结果集(见图 27)。
要查看放大后的图像,请单击 这里 。
图 27. Data View 中显示在设计时执行 SQL 的结果
要查看放大后的图像,请单击 这里 。
相关推荐
根据提供的IBM软件产品清单及其描述,我们可以总结出以下关键知识点: ### 1. IBM Passport Advantage Program IBM的Passport Advantage计划是一种为客户提供软件许可、支持和技术服务的方式。在这个列表中,所有的...
19考试真题最近的t44.txt
清华大学第三弹:普通人如何抓住DeepSeek红利
Python环境下的滚动轴承故障诊断优化算法:基于改进WDCNN的一维卷积神经网络与LSTM融合的时序信号处理研究,Python环境中基于改进WDCNN与LSTM融合的滚动轴承故障诊断方法研究——优化卷积核大小,提升诊断准确率并加速收敛速度的应用,Python环境下一种基于WDCNN的滚动轴承故障诊断方法 算法采用pytorch深度学习模块,对WDCNN进行改进,搭建了卷积核大小逐层递减的一维卷积神经网络,并减少了卷积层数量,达到了98%以上的诊断准确率,同时有着较快的收敛速度。 另外,针对时序信号的特点,将长短时记忆网络(LSTM)与搭建的一维卷积神经网络结合,提高分类准确率至99%以上,但收敛速度较单一的卷积神经网络较慢。 算法可迁移至金融时间序列,地震信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等一维时间序列信号。 ,基于WDCNN的故障诊断方法; 卷积神经网络; 算法改进; 高诊断准确率; 收敛速度快; LSTM结合; 一维时间序列信号; 金融、地震、语音、生理信号诊断,Python下改进WDCNN的滚动轴承故障诊断法:深度学习提升诊断准确率与收敛速度
基于遗传算法优化的机器学习模型分类预测与回归分析技术概览:SVM、LSTM等算法应用,遗传算法优化机器学习模型在分类、回归与时序预测中的应用(支持SVM、RF等)matlab代码实践,遗传算法优化用于分类 回归 时序预测 遗传算法优化支持向量机SVM,最小二乘支持向量机LSSVM,随机森林RF,极限学习机ELM,核极限学习机KELM,深度极限学习机DELM,BP神经网络,长短时记忆网络 LSTM,Bilstm,GRU,深度置信网络 DBN,概率神经网络PNN,广义神经网络GRNN..... 以上有分类预测回归预测时序预测 matlab代码,可直接替数据使用,简单操作易上手。 ,遗传算法优化; 分类预测; 回归预测; 时序预测; 支持向量机SVM; 最小二乘支持向量机LSSVM; 随机森林RF; 极限学习机ELM; 深度极限学习机DELM; 神经网络操作; Matlab代码,遗传算法优化多种机器学习模型在分类、回归与时序预测中的应用
《多元系列污水处理及石油化工设备三维模型库:可编辑装配体与零部件模型集》,优质专业设备模型集萃:90套管道设备、石油化工与污水处理设备三维模型,可编辑修改尺寸,装配体模型与零部件一应俱全,共90套左右各类污水处理设备三维模型,管道设备三维模型,石油化工设备三维模型。 sw打开,大部分是可以编辑修改尺寸的。 有装配体模型,有零部件模型。 ,污水处理设备模型; 管道设备模型; 石油化工设备模型; 可编辑修改尺寸; 装配体模型; 零部件模型。,90套污水处理与石油化工设备三维模型库:可编辑装配体与零部件模型大全
2023-04-06-项目笔记-第四百一十八阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.416局变量的作用域_416- 2025-02-23
**基于主从博弈算法的电热综合能源系统动态定价与能量管理:深度创新与高效求解的MATLAB代码实现**,MATLAB代码:基于主从博弈算法的电热综合能源系统智能动态定价与高效能量管理策略研究,MATLAB代码:基于主从博弈的电热综合能源系统动态定价与能量管理 关键词:主从博弈 电热综合能源 动态定价 能量管理 参考文档:自编文档,完全复现 仿真平台:MATLAB 平台 优势:代码具有一定的深度和创新性,注释清晰,非烂大街的代码,非常精品 主要内容:代码主要做的是电热综合能源系统的动态定价问题,采用是主从博弈方法,上领导者问题上,以综合能源系统整体的收益作为目标函数,考虑电价以及热价等相关约束,在下层跟随者模型上,以用户用能满意度最高为目标函数,构建了领导者-跟随者Stackelberg博弈模型,同时还考虑了系统的功率平衡条件以及热能平衡条件等约束,模型的上层求解采用粒子群算法,下层求解采用CPLEX求解器,考虑该代码具有一定的创新性,适合新手学习以及在此基础上进行拓展,代码质量非常高 ,主从博弈; 电热综合能源; 动态定价; 能量管理; Stackelberg博弈模型; 粒子群算
修复 "保存'/opt/rr'的修改" 后 主菜单锁死问题. 修复 trivial 插件的语法错误. 修复 open-vm-tools 套件 缺失的 SOCKETS 驱动. 添加 vmtools 插件, 包含 qemu-ga & open-vm-tools. 4.1. 该插件会自动判断环境并启用对应的功能, 物理机也不用刻意删除该插件. 4.2. 新安装用户会默认选中, 升级用户如需要请手动添加该插件. 4.3. 如启用该插件, 请不要再在系统中安装套件. 修复 wireless 插件. 5.1. 修复 RR 下无线网络 IP 显示和刷新问题. 5.2. 修复 RR 下设置 SSID&PSK 后 DSM 下不驱动的问题. 5.3. 同步 RR 下的 SSID&PSK 到 DSM 下. 5.4. 修复 junior 模式下无线网络的支持, 已支持 无线网卡的 DSM 系统安装. (暂时不支持 intel 无线网卡) 5.5. wpa_supplicant.conf 文件位于引导盘第一个分区根目录, 纯无线环境可手动放置该文件后其启动引导.
培训课件 -我是如何教创新创业及职涯设计课.pptx
流量专网售前5G解决方案模板.docx
Simulink仿真模型下的混合储能控制器设计:实现功率分配、SOC均衡与高精度电流控制及母线电压补偿策略,Simulink仿真模型下的混合储能控制器设计:实现功率分配、SOC均衡与高精度电流控制及母线电压补偿,储能控制器,simulink仿真模型。 采用下垂控制实现蓄电池超级电容构成的混合储能功率分配、SOC均衡控制、考虑线路阻抗情况下提高电流分配精度控制、母线电压补控制。 ,核心关键词: 1. 储能控制器 2. 下垂控制 3. 混合储能功率分配 4. SOC均衡控制 5. 线路阻抗 6. 电流分配精度控制 7. 母线电压补控制 用分号分隔的关键词结果为: 储能控制器;下垂控制;混合储能功率分配;SOC均衡控制;线路阻抗;电流分配精度控制;母线电压补控制,基于Simulink仿真的混合储能系统:下垂控制与SOC均衡策略研究
19考试真题最近的t38.txt
基于V2G技术的电动汽车实时调度策略:降低充电与网损成本,IEEE配电网验证,基于V2G技术的电动汽车实时调度策略:降低充电成本与网损的调度模型及算法实现,MATLAB代码:基于V2G技术的电动汽车实时调度策略 关键词:电动汽车 实时调度 V2G 网损 仿真平台:MATLAB YALMIP+CVX 主要内容:代码主要做的是基于V2G技术的电动汽车实时调度策略,请注意是实时调度策略而非日前调度策略,首先以降低充电成本和网损成本为目标,建立电动汽车调度模型。 然后通过构建网损灵敏度指标分析电网节点性能,基于电网负荷制定分时电价,通过潮流计算和凸优化算法实时求解得到电动汽车充放电策略。 最后以 IEEE 33 节点配电网为例验证了所提策略可以有效降低充电成本与网损成本。 基本实现文档中的算法,复现效果良好可靠 ,V2G技术; 实时调度策略; 网损; 充电成本; 优化算法; 潮流计算; 凸优化算法; IEEE 33节点配电网。,基于V2G技术的实时电动汽车调度策略:降低充电成本与网损的MATLAB仿真研究
三菱PLC焊接机智能控制参考方案:含触摸屏程序、PLC程序、伺服定位与通信控制等全套解决方案,专为精准内外径圆环物料处理设计。,三菱PLC焊接机智能控制参考方案:集成触摸屏程序、PLC编程、伺服控制与通讯技术,实现精准焊接与数据闭环管理。,三菱PLC焊接机控制参考程序。 包含触摸屏程序,PLC程序,IO表,伺服参数,通讯协议参数。 该设备由24个伺服电机、1套焊接机、2套CCD、4套扫码枪、6套位移传感器组成,plc程序有注释里面fb块也没加密,电气控制采用三菱Q系列Q06UDV型CPU,内置以太网通过TCP IP形式与上位机CCD及扫码枪通讯,两套QD77MS16定位模块控制伺服,外加QJ71C24N用于与位移传感器通过ModBus RTU协议进行串口通讯获取数据,另外运用三菱MX Conpnonet软件与上位机通讯完成与客户MES系统闭环控制,OEE数据采集并上传至客户工厂云服务器系统。 该设备组装物料小件尺寸小,为内外径相差0.79mm(圆环宽度)的小圆环,料盘为8X10的矩阵料盘,吸取较难,因此PLC自写了一套算法,采用三点设定自动运算出80个点的XY坐标,吸取成功率达99%以
一个使用node、MySql、react、reactNative、antDesign完成的一套大型订票系统,其中服务端、数据库,网页订票端、手机订票端和网页管理台.zip项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款
RexVision 1.6.1机器视觉框架源码发布:基于C#与Halcon混合编程,适用于视觉检测与机械手定位等应用,插件式开发省时高效,RexVision 1.6.1机器视觉框架源码发布:基于C#与Halcon混合编程,支持多种视觉应用与手眼标定,VS2019可直接编译使用,RexVision 1.6.1,C#+Halcon机器视觉框架源码, 到手vs2019可以直接编译、 视觉检测、AOI视觉检测、机械手定位、点胶机、插件机、激光切割机、视觉螺丝机、视觉贴合机、激光焊接机、视觉裁板机……, C#联合Halcon混合编程源码,插件式开发 ,带手眼标定,相机静止和运动,支持C#脚本…能让你站在巨人的肩膀上,节省重复造轮子的时间。 ,关键词:RexVision 1.6.1; Halcon机器视觉框架; C#联合Halcon混合编程; 视觉检测; AOI视觉检测; 机械手定位; 点胶机; 插件机; 激光切割机; 视觉螺丝机; 视觉贴合机; 激光焊接机; 视觉裁板机; 手眼标定; 相机静止和运动支持; C#脚本。,基于Halcon的C#机器视觉源码,插件式开发助力自动化设备升级
ATL .NET 是一个完全原生的、易于使用的 C# 库,用于 .NET 和 Mono,可以从各种数字音频格式、播放列表和 CUE 表中读取数据。.zip
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用
MATLAB代码:电转气P2G与碳捕集设备在热电联供综合能源系统中的优化调度模型研究:融入碳交易机制的非线性模型高效求解。,MATLAB环境下结合P2G技术与碳捕集设备的综合能源系统优化调度模型,包括热电联产与低碳调度,借鉴碳交易机制实现高效求解。,MATLAB代码:考虑P2G和碳捕集设备的热电联供综合能源系统优化调度模型 注意:店铺内有大量考虑碳交易代码,欢迎咨询 关键词:碳捕集 综合能源系统 电转气P2G 热电联产 低碳调度 参考文档:《Modeling and Optimization of Combined Heat and Power with Power-to-Gas and Carbon Capture System in Integrated Energy System》完美复现 仿真平台:MATLAB yalmip+gurobi 主要内容:代码主要做的是一个考虑电转气P2G和碳捕集设备的热电联供综合能源系统优化调度模型,模型耦合CHP热电联产单元、电转气单元以及碳捕集单元,并重点考虑了碳交易机制,建立了综合能源系统运行优化模型,模型为非线性模型,采用yalmip