- 浏览: 30037 次
-
文章分类
最新评论
-
herman_liu76:
我们的action中不写逻辑,只处理http有关的数据准备与返 ...
有没有人在struts2的action这一层做事务控制? -
xiaoxin5230:
呵呵,沙市小吃我觉得是最好吃的,物美价廉
沙市美食-过早篇 -
Durian:
面向数据库设计不能使用oo的全部特性。
ER Studio从设计模型生成JPA Entity -
xiaofengtoo:
我比较喜欢楼主的想法。对于老板与客户不关注那么多,能快速开发, ...
ER Studio从设计模型生成JPA Entity -
魔力猫咪:
ER的模型是数据库模型不是对象模型。
ER Studio从设计模型生成JPA Entity
主要是参考ER Studio设计模型 代码生成 。脚本如下:
ER Studio的模型难道就不是对象?难道必须写成JAVA Class才是对象?
'利用ER/Studio的Macro生成JPA Entity '目前对于多对多关联和复合主键的支持还没有完成 'By Colin 2009/3/24 Sub Main() Dim fso As Object Dim entNames As Variant Dim entCount As Variant Dim entLoop As Integer 'ER/Studio variables Dim mdl As Model Dim subMdl As SubModel Dim ent As Entity Dim classPath As Variant classPath = "d:\entity\" Set mdl = DiagramManager.ActiveDiagram.ActiveModel Set subMdl = mdl.ActiveSubModel 'get the entities list & count subMdl.EntityNames(entNames, entCount) 'sort the entities by name(alphabetic sort) Call dhQuickSort(entNames) For entLoop = 0 To entCount - 1 Set ent = mdl.Entities.Item(entNames(entLoop)) Set fso = CreateObject("Scripting.FileSystemObject") 'DAO class file Set csFile = fso.CreateTextFile(classPath & AttributeName(StrConv(ent.EntityName,vbLowerCase)) & ".java", True) Call WriteEntity(csFile, ent, subMdl.Name) csFile.Close Next End Sub Sub WriteEntity(csFile As Object,ent As Entity, subModelName As String) Dim content As String 'DAO class Call Write2File(csFile, NamespaceStart(ent.EntityName, subModelName)) content = content & vbTab & "/// <summary>" & vbCrLf content = content & vbTab & "/// Data Access Object for " & ent.EntityName & vbCrLf content = content & vbTab & "/// </summary>" & vbCrLf content = content & vbTab & "@Entity" & vbCrLf content = content & vbTab & "@Table(name = """ & ent.TableName & """, catalog = ""wcs_db"", uniqueConstraints = {})" & vbCrLf content = content & vbTab & "public class " & AttributeName(StrConv(ent.EntityName,vbLowerCase)) & " extends BaseEntity" & vbCrLf content = content & vbTab & "{" & vbCrLf content = content & EntityPrivateDeclare(ent) & vbCrLf content = content & vbTab & vbTab & "/// <summary>" & vbCrLf content = content & vbTab & vbTab & "/// default constructor for " & ent.EntityName & vbCrLf content = content & vbTab & vbTab & "/// </summary>" & vbCrLf content = content & vbTab & vbTab & "public " & AttributeName(StrConv(ent.EntityName,vbLowerCase)) & "()" & vbCrLf content = content & vbTab & vbTab & "{" & vbCrLf content = content & vbTab & vbTab & "}" & vbCrLf & vbCrLf content = content & EntityPublicDeclare(ent) content = content & EntityOverrideMethod(ent) content = content & vbTab & "}" Call Write2File(csFile, content) End Sub Function DataType2ClassType(attr As AttributeObj) 'return the .net data type corresponding to the sql type Dim classType As String Select Case attr.Datatype Case "CHAR" classType = "String" Case "VARCHAR2" classType = "String" Case "NVARCHAR" classType = "String" Case "NVARCHAR2" classType = "String" Case "VARCHAR" classType = "String" Case "NTEXT" classType = "String" Case "DATETIME" classType = "Date" Case "DATE" classType = "Date" Case "DECIMAL" classType = "java.math.BigDecimal" Case "FLOAT" classType = "Float" Case "NUMERIC" If attr.DataScale = 0 Then If attr.DataLength > 9 Then classType = "java.math.BigDecimal" Else classType = "Integer" End If Else If attr.DataScale < 29 Then classType = "java.math.BigDecimal" Else classType = "Double" End If End If Case "INTEGER" classType = "Integer" Case "BIGINT" classType = "Long" Case "BIT" classType = "Boolean" Case Else classType = "String" End Select DataType2ClassType = classType End Function Function AttributePrivateName(entName As String) Dim length As Integer Dim result As String length = Len(entName) If length >0 Then result = StrConv(Left$(entName,1),vbLowerCase) & Right$(entName,length-1) End If AttributePrivateName = result End Function Function AttributeName(entName As String) Dim result As String Dim t As Integer Dim tempStr As String Dim length As Integer length = Len(entName) entName = StrConv(Left$(entName,1),vbUpperCase) & Right$(entName,length-1) t=InStr(1,entName,"_") If t > 0 Then tempStr = Right$(entName,length - t) length = Len(tempStr) tempStr = StrConv(Left$(tempStr,1),vbUpperCase) & Right$(tempStr,length-1) result = result & Left$(entName,t-1) & tempStr Else result = entName End If Do While t>0 length = Len(result) t=InStr(1,result,"_") tempStr = Right$(result,length-t) length = Len(tempStr) tempStr = StrConv(Left$(tempStr,1),vbUpperCase) & Right$(tempStr,length-1) If t>0 Then result = Left$(result,t-1) & tempStr End If Loop AttributeName = result End Function Function EntityPrivateDeclare(ent As Entity) Dim result As String Dim attr As AttributeObj Dim Index As Integer Dim parent As Entity Dim child As Entity Dim rl As Relationship Dim prl As Relationship For Index=1 To ent.Attributes.Count Set attr=FindAttribute(ent.Attributes, Index) If Not attr Is Nothing Then If attr.PrimaryKey Then result=result & vbTab & vbTab & "private " & DataType2ClassType(attr) & " id;" & vbCrLf Else If attr.ForeignKey Then 'Set parent = attr.GetParent() 'result=result & vbTab & vbTab & "private " & AttributeName(StrConv((parent.EntityName),vbLowerCase)) & " " & AttributePrivateName(AttributeName(StrConv((parent.EntityName),vbLowerCase))) & ";" & vbCrLf Else result=result & vbTab & vbTab & "private " & DataType2ClassType(attr) & " " & AttributePrivateName(AttributeName(StrConv(attr.AttributeName,vbLowerCase))) & ";" & vbCrLf End If End If End If Next For Each rl In ent.ChildRelationships Set parent = rl.ParentEntity result=result & vbTab & vbTab & "private " & AttributeName(StrConv((parent.EntityName),vbLowerCase)) & " " & AttributePrivateName(AttributeName(StrConv((parent.EntityName),vbLowerCase))) & ";" & vbCrLf Next For Each prl In ent.ParentRelationships Set child = prl.ChildEntity result=result & vbTab & vbTab & "private Set<" & AttributeName(StrConv((child.EntityName),vbLowerCase)) & "> " & AttributePrivateName(AttributeName(StrConv((child.EntityName),vbLowerCase))) & "s = new HashSet<" & AttributeName(StrConv((child.EntityName),vbLowerCase)) & ">();" & vbCrLf Next EntityPrivateDeclare=result End Function Function EntityPublicDeclare(ent As Entity) Dim result As String Dim attr As AttributeObj Dim Index As Integer Dim parent As Entity Dim rl As Relationship Dim fk As FKColumnPair Dim keyID As String Dim child As Entity Dim prl As Relationship For Index=1 To ent.Attributes.Count Set attr = FindAttribute(ent.Attributes, Index) If Not attr Is Nothing Then 'result = result & vbTab & vbTab & "private " & DataType2ClassType(attr) & " " & attr.AttributeName & ";" & vbCrLf If attr.PrimaryKey Then result = result & vbTab & vbTab & "/// <summary>" & vbCrLf result = result & vbTab & vbTab & "/// " & attr.AttributeName & vbCrLf result = result & vbTab & vbTab & "/// </summary>" & vbCrLf result = result & AnnotationColumn(attr) result = result & vbTab & vbTab & "@Override" & vbCrLf result = result & vbTab & vbTab & "public " & DataType2ClassType(attr) & " getId(){" & vbCrLf result = result & vbTab & vbTab & vbTab & "return this.id;" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & vbCrLf result = result & vbTab & vbTab & "@Override" & vbCrLf result = result & vbTab & vbTab & "public void setId(" & DataType2ClassType(attr) & " id){" & vbCrLf result = result & vbTab & vbTab & vbTab & "this.id = id;" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & vbCrLf Else If attr.ForeignKey Then Else result = result & vbTab & vbTab & "/// <summary>" & vbCrLf result = result & vbTab & vbTab & "/// " & attr.AttributeName & vbCrLf result = result & vbTab & vbTab & "/// </summary>" & vbCrLf result = result & AnnotationColumn(attr) result = result & vbTab & vbTab & "public " & DataType2ClassType(attr) & " " & atrributeGetMethod(attr.ColumnName) & "(){" & vbCrLf result = result & vbTab & vbTab & vbTab & "return this." & AttributePrivateName(AttributeName(StrConv(attr.AttributeName,vbLowerCase))) & ";" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & vbCrLf result = result & vbTab & vbTab & "public void " & atrributeSetMethod(attr.ColumnName) & "(" & DataType2ClassType(attr) & " " & AttributePrivateName(AttributeName(StrConv(attr.AttributeName,vbLowerCase))) & "){" & vbCrLf result = result & vbTab & vbTab & vbTab & "this." & AttributePrivateName(AttributeName(StrConv(attr.AttributeName,vbLowerCase))) & " = " & AttributePrivateName(AttributeName(StrConv(attr.AttributeName,vbLowerCase))) & ";" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & vbCrLf End If End If End If Next For Each rl In ent.ChildRelationships Set parent = rl.ParentEntity If Not parent Is Nothing Then 'result = result & vbTab & vbTab & "/// <summary>" & vbCrLf 'result = result & vbTab & vbTab & "/// " & attr.AttributeName & vbCrLf 'result = result & vbTab & vbTab & "/// </summary>" & vbCrLf 'result = result & AnnotationColumn(attr) For Each fk In rl.FKColumnPairs keyID = fk.ParentAttribute.AttributeName Next result = result & AnnotationFK(parent,keyID) 'result=result & vbTab & vbTab & "private " & AttributeName(StrConv((parent.EntityName),vbLowerCase)) & " " & AttributePrivateName(AttributeName(StrConv((parent.EntityName),vbLowerCase))) & ";" & vbCrLf result = result & vbTab & vbTab & "public " & AttributeName(StrConv(parent.EntityName,vbLowerCase)) & " " & atrributeGetMethod(parent.EntityName) & "(){" & vbCrLf result = result & vbTab & vbTab & vbTab & "return this." & AttributePrivateName(AttributeName(StrConv((parent.EntityName),vbLowerCase))) & ";" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & vbCrLf result = result & vbTab & vbTab & "public void " & atrributeSetMethod(parent.EntityName) & "(" & AttributeName(StrConv((parent.EntityName),vbLowerCase)) & " " & AttributePrivateName(AttributeName(StrConv(parent.EntityName,vbLowerCase))) & "){" & vbCrLf result = result & vbTab & vbTab & vbTab & "this." & AttributePrivateName(AttributeName(StrConv(parent.EntityName,vbLowerCase))) & " = " & AttributePrivateName(AttributeName(StrConv(parent.EntityName,vbLowerCase))) & ";" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & vbCrLf End If Next For Each prl In ent.ParentRelationships Set child = prl.ChildEntity If Not child Is Nothing Then result = result & AnnotationChild(ent) result = result & vbTab & vbTab & "public Set<" & AttributeName(StrConv(child.EntityName,vbLowerCase)) & "> " & atrributeGetMethod(child.EntityName) & "s(){" & vbCrLf result = result & vbTab & vbTab & vbTab & "return this." & AttributePrivateName(AttributeName(StrConv((child.EntityName & "s"),vbLowerCase))) & ";" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & vbCrLf result = result & vbTab & vbTab & "public void " & atrributeSetMethod(child.EntityName & "s") & "(Set<" & AttributeName(StrConv((child.EntityName),vbLowerCase)) & "> " & AttributePrivateName(AttributeName(StrConv(child.EntityName,vbLowerCase))) & "s){" & vbCrLf result = result & vbTab & vbTab & vbTab & "this." & AttributePrivateName(AttributeName(StrConv(child.EntityName,vbLowerCase))) & "s = " & AttributePrivateName(AttributeName(StrConv(child.EntityName,vbLowerCase))) & "s;" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & vbCrLf End If Next EntityPublicDeclare=result End Function Function atrributeGetMethod(attr As String) atrributeGetMethod = "get" & AttributeName(StrConv(attr,vbLowerCase)) End Function Function atrributeSetMethod(attr As String) atrributeSetMethod = "set" & AttributeName(StrConv(attr,vbLowerCase)) End Function Function AppendToString(attr As AttributeObj, Val As String) Dim result As String result=Val If Len(Val)>0 Then result = result & "id.toString()" Else result = "id.toString()" End If AppendToString=result End Function Function AppendGetHashCode(attr As AttributeObj, Val As String) Dim result As String result=Val If Len(Val)>0 Then result = result & " + " & "id.hashCode()" Else result ="id.hashCode()" End If AppendGetHashCode=result End Function Function AppendEquals(ent As Entity, attr As AttributeObj, Val As String) Dim result As String result=Val If Len(Val)>0 Then result = result & "&& (id) & == (obj instanceof " & AttributeName(StrConv(ent.EntityName,vbLowerCase)) & ")." & AttributeName(StrConv(attr.AttributeName,vbLowerCase)) & ")" Else result = "( id == ((" & AttributeName(StrConv(ent.EntityName,vbLowerCase)) & ")obj).getId() )" End If AppendEquals=result End Function Function EntityOverrideMethod(ent As Entity) Dim result As String, toString As String, hashCode As String, equals As String Dim attr As AttributeObj Dim existsPrimary As Boolean For Each attr In ent.Attributes If attr.PrimaryKey Then toString = AppendToString(attr, toString) hashCode = AppendGetHashCode(attr, hashCode) equals = AppendEquals(ent, attr, equals) existsPrimary=True End If Next If existsPrimary Then result = result & vbTab & vbTab & "/// <summary>" & vbCrLf result = result & vbTab & vbTab & "///" & vbCrLf result = result & vbTab & vbTab & "/// </summary>" & vbCrLf result = result & vbTab & vbTab & "/// <returns></returns>" & vbCrLf result = result & vbTab & vbTab & "@Override" & vbCrLf result = result & vbTab & vbTab & "public String toString()" & vbCrLf result = result & vbTab & vbTab & "{" & vbCrLf result = result & vbTab & vbTab & vbTab & "return " & toString & ";" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & "/// <summary>" & vbCrLf result = result & vbTab & vbTab & "///" & vbCrLf result = result & vbTab & vbTab & "/// </summary>" & vbCrLf result = result & vbTab & vbTab & "/// <returns></returns>" & vbCrLf result = result & vbTab & vbTab & "@Override" & vbCrLf result = result & vbTab & vbTab & "public int hashCode()" & vbCrLf result = result & vbTab & vbTab & "{" & vbCrLf result = result & vbTab & vbTab & vbTab & "return " & hashCode & ";" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & "/// <summary>" & vbCrLf result = result & vbTab & vbTab & "///" & vbCrLf result = result & vbTab & vbTab & "/// </summary>" & vbCrLf result = result & vbTab & vbTab & "/// <returns></returns>" & vbCrLf result = result & vbTab & vbTab & "@Override" & vbCrLf result = result & vbTab & vbTab & "public boolean equals(Object obj)" & vbCrLf result = result & vbTab & vbTab & "{" & vbCrLf result = result & vbTab & vbTab & vbTab & "boolean result = false;" & vbCrLf result = result & vbTab & vbTab & vbTab & "if (obj instanceof " & AttributeName(StrConv(ent.EntityName,vbLowerCase)) & ")" & vbCrLf result = result & vbTab & vbTab & vbTab & "{" & vbCrLf result = result & vbTab & vbTab & vbTab & vbTab & "result = " & equals & ";" & vbCrLf result = result & vbTab & vbTab & vbTab & "}" & vbCrLf result = result & vbTab & vbTab & vbTab & "return result;" & vbCrLf result = result & vbTab & vbTab & "}" & vbCrLf End If EntityOverrideMethod=result End Function Function AnnotationColumn(attr As AttributeObj) Dim result As String If Not attr Is Nothing Then If attr.PrimaryKey Then result = vbTab & vbTab & "@Id" & vbCrLf result = result & vbTab & vbTab & "@GeneratedValue(strategy = GenerationType.AUTO)" & vbCrLf End If If attr.ForeignKey Then result = vbTab & vbTab & "@ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE})" &vbCrLf result = result & vbTab & vbTab & "@JoinColumn(name=""" & attr.ColumnName & """)" & vbCrLf Else result = vbTab & vbTab & "@Column(name = """ & attr.ColumnName & """, unique = false, nullable = " If attr.NullOption = "NULL" Then result = result & "false" Else result = result & "true" End If result = result & ", insertable = true, updatable = true, length = " & attr.DataLength & ")" &vbCrLf End If End If AnnotationColumn = result End Function Function AnnotationFK(parent As Entity,keyID As String) Dim result As String If Not parent Is Nothing Then result = vbTab & vbTab & "@ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE})" &vbCrLf result = result & vbTab & vbTab & "@JoinColumn(name=""" & keyID & """)" & vbCrLf End If AnnotationFK = result End Function Function AnnotationChild(ent As Entity) Dim result As String If Not ent Is Nothing Then result = vbTab & vbTab & "@OneToMany(mappedBy=""" & AttributePrivateName(AttributeName(StrConv(ent.EntityName,vbLowerCase ))) & """)" &vbCrLf End If AnnotationChild = result End Function Function NamespaceStart(entName As String, subModelName As String) Dim result As String result = "//*******************************************" & vbCrLf result = result & "// ** Description: Data Access Object for " & entName & vbCrLf result = result & "// ** Author : Code generator" & vbCrLf result = result & "// ** Created : " & Now & vbCrLf result = result & "// ** Modified :" & vbCrLf result = result & "//*******************************************" & vbCrLf & vbCrLf result = result & "package apps.demo.entity;" & vbCrLf & vbCrLf result = result & "import java.util.*;" & vbCrLf result = result & "import javax.persistence.*;" & vbCrLf result = result & "import core.hibernate.BaseEntity;" & vbCrLf NamespaceStart = result End Function Function FindAttribute(attrs As Attributes, Index As Integer) Dim result As AttributeObj Dim attr As AttributeObj Set result = Nothing For Each attr In attrs If attr.SequenceNumber=Index Then Set FindAttribute=attr Exit Function End If Next Set FindAttribute=Nothing End Function Sub Write2File(fileObj As Object, wordLine As String) fileObj.WriteLine (wordLine) End Sub Const dhcMissing = -2 'sort the entities by name(alphabetic sort) Sub dhQuickSort(varArray As Variant, Optional intLeft As Integer = dhcMissing, Optional intRight As Integer = dhcMissing) Dim i As Integer Dim j As Integer Dim varTestVal As Variant Dim intMid As Integer If intLeft = dhcMissing Then intLeft = LBound(varArray) If intRight = dhcMissing Then intRight = UBound(varArray) If intLeft < intRight Then intMid = (intLeft + intRight) \ 2 varTestVal = UCase(varArray(intMid)) i = intLeft j = intRight Do Do While UCase(varArray(i)) < varTestVal i = i + 1 Loop Do While UCase(varArray(j)) > varTestVal j = j - 1 Loop If i <= j Then SwapElements varArray, i, j i = i + 1 j = j - 1 End If Loop Until i > j If j <= intMid Then Call dhQuickSort(varArray, intLeft, j) Call dhQuickSort(varArray, i, intRight) Else Call dhQuickSort(varArray, i, intRight) Call dhQuickSort(varArray, intLeft, j) End If End If End Sub Private Sub SwapElements(varItems As Variant, intItem1 As Integer, intItem2 As Integer) Dim varTemp As Variant varTemp = varItems(intItem2) varItems(intItem2) = varItems(intItem1) varItems(intItem1) = varTemp End Sub
评论
6 楼
Durian
2009-05-20
面向数据库设计不能使用oo的全部特性。
5 楼
xiaofengtoo
2009-04-13
我比较喜欢楼主的想法。
对于老板与客户不关注那么多,能快速开发,并能实际应用才是最好的东西。
ER的模型设计 可以针对对象的设置,在于怎么使用。
不过这里我有个问题 楼主 ,你能生成出来的文件 是UTF8的文件吗 ?
对于老板与客户不关注那么多,能快速开发,并能实际应用才是最好的东西。
ER的模型设计 可以针对对象的设置,在于怎么使用。
不过这里我有个问题 楼主 ,你能生成出来的文件 是UTF8的文件吗 ?
4 楼
魔力猫咪
2009-03-25
ER的模型是数据库模型不是对象模型。
3 楼
colin4k
2009-03-24
魔力猫咪 写道
不建议使用这种方式。看上去好像方便了,其实是把主次关系搞反了。面向对象设计中对象是核心,不是数据库。如果先设计数据库,然后图省事生成对象,则是面向数据库设计。
ER Studio的模型难道就不是对象?难道必须写成JAVA Class才是对象?
2 楼
kjj
2009-03-24
同意楼上的做法
1 楼
魔力猫咪
2009-03-24
不建议使用这种方式。看上去好像方便了,其实是把主次关系搞反了。面向对象设计中对象是核心,不是数据库。如果先设计数据库,然后图省事生成对象,则是面向数据库设计。
相关推荐
- 数据库设计:ER模型, 规范化 - 事务处理与并发控制 14. **即时通讯系统**: - 即时通讯协议:XMPP, WebSocket - 消息队列:RabbitMQ, ActiveMQ - 实时同步与推送技术 以上只是部分论文题目涉及的知识点,每...
2. 设计阶段:绘制系统架构图,设计数据库表结构,编写ER图。 3. 编码实现: - 创建前后端项目,配置开发环境。 - 实现用户登录注册模块,使用JWT进行权限验证。 - 设计RESTful API接口,前后端分离通信。 - ...
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
wrf转mp4播放器1.1.1
内容概要:本文档详细介绍了如何在Simulink中设计一个满足特定规格的音频带ADC(模数转换器)。首先选择了三阶单环多位量化Σ-Δ调制器作为设计方案,因为这种结构能在音频带宽内提供高噪声整形效果,并且多位量化可以降低量化噪声。接着,文档展示了具体的Simulink建模步骤,包括创建模型、添加各个组件如积分器、量化器、DAC反馈以及连接它们。此外,还进行了参数设计与计算,特别是过采样率和信噪比的估算,并引入了动态元件匹配技术来减少DAC的非线性误差。性能验证部分则通过理想和非理想的仿真实验评估了系统的稳定性和各项指标,最终证明所设计的ADC能够达到预期的技术标准。 适用人群:电子工程专业学生、从事数据转换器研究或开发的技术人员。 使用场景及目标:适用于希望深入了解Σ-Δ调制器的工作原理及其在音频带ADC应用中的具体实现方法的人群。目标是掌握如何利用MATLAB/Simulink工具进行复杂电路的设计与仿真。 其他说明:文中提供了详细的Matlab代码片段用于指导读者完成整个设计流程,同时附带了一些辅助函数帮助分析仿真结果。
国网台区终端最新规范
《基于YOLOv8的智慧农业水肥一体化控制系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
GSDML-V2.33-LEUZE-AMS3048i-20170622.xml
微信小程序项目课程设计,包含LW+ppt
微信小程序项目课程设计,包含LW+ppt
终端运行进度条脚本
幼儿园预防肺结核教育培训课件资料
python,python相关资源
《基于YOLOv8的智慧校园电动车充电桩状态监测系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
deepseek 临床之理性软肋.pdf
SM2258XT量产工具(包含16种程序),固态硬盘量产工具使用
RecyclerView.zip
水务大脑让水务运营更智能(23页)
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
大众捷达轿车前轮制动器设计