• CodeSmith和Powerdesigner的搭建和实例化操作 转载自黄聪同学


    好了,废话少说,开始我们的CodeSmith旅程吧,我先讲讲这个系列教程要完成的目标吧,众所周知,CodeSmith其中一个强大的功能就是依照模板生成批量代码,这也是吸引着众多编程人士使用它的原因,它大大的节约了编程时间,省去了大量复制粘贴的废操作.

    首先,既然要讲解如何使用CodeSmith和PowerDesigner快速生成批量代码,当然要先安装这2个软件啦,下面就简单说说如何安装破解这2款软件吧,当然破解只是学习之用,请大家不要用于商业用途哈,要支持正版,大家都是做软件的,知道开发一套软件实属不易啊.

    复制代码
    CodeSmith安装方法:
    1). 点击下载安装文件 2). 运行,安装步骤就不说了,选择你要安装的目录,一路下一步就OK了. 3). 运行,选择CodeSmith的安装目录,一路下一步,就破解 完成啦,接着你就可以在开始--CodeSmith Professional 5.1--CodeSmith Studio运行程序啦.
    PowerDesigner安装方法:  http://dev.firnow.com/course/3_program/java/javajs/20090908/174375.html
    复制代码

    安装完这2个软件了,接着就开始使用吧,还是和以前一样,先提出需求,再做实例,因为我们之所以使用它们,肯定是因为它们能巧妙的解决某种问题,不然我们干嘛花那么多时间和硬盘空间安装它们.

    好,我们现在的需求是:希望当接到一个新的工程项目时,程序员只需要根据项目需求,设计出数据库的结构(表,表的字段,表间关系),之后只要按一个按键,就能立刻得到基于该数据库的所有分层架构代码文件.也就是说,我们希望能在不敲一行代码的情况下获取所有我们想要的代码!而这就是这2个软件能做到的事情,也是我们安装它们的目的.

    好了,角色已经介绍完了,接着看看它们是如何演绎这场精彩的演出的吧:

    首先我们需要创建一个测试数据库,为了简单,我们在这个数据库中只创建一个Student表和一个Major表.其表结构和关系如下所示.

    看看怎样用PowerDesigner快速的创建出这个数据库吧.

    1.现在开始使用PowerDesigner创建数据库,首先运行程序,进入主界面:

    2.File—New Model—Physical Data Model—Physical Diagram—Model name 设置为test,DBMS属性设置为Microsoft SQL Server 2005:

    3.首先用表格工具创建一个表格模板:

    4.双击表格模板,设置属性,我们首先设置Major表:

    5.设置好表名,点击Columns标签,设置字段属性,设置如图所示:

    6.因为MajorID字段我们要设置为自动增长,所以要设置它的高级属性,选择MajorID字段,点击属性按钮,在General面板中勾选上Identity复选框:

    7.确定后我们再创建一个Student表,字段设置如图所示:

    8.接着是为Student创建一个MajorID外键,使用PowerDesigner可以很轻松的完成这个工作,选择关系设置工具,在Student表上按住左键不放,拖拽至Major表,便可为Student表添加一个MajorID的外键:

    9.哈哈,现在测试表已经设置好了,接着设置一下我们要生成的数据库吧,这些表都将被创建到该数据库中,我们在设计面板空白处右键—Properties,在弹出的属性设置对话框设置如下:

     

    10好了,在此我们对新数据库的设置已经完成,但是在SQL中还是空空如也啊,我们要怎么把这边设计好的结构移植到SQLServer 2005中呢?执行操作:Database—Generate Database,设置好存储过程导出目录和文件名,点击确定即可:

    11.到你的导出目录,就可以看见导出的数据库创建存储过程了,打开SQL,执行一下,你就会看到数据库被神奇的创建好了:

    12.好了,数据库的准备工作做好了,下一篇我们就将使用该数据库结合CodeSmith自动批量生成代码啦~

    上述实践中生成的源代码:

     

      1. SQL.sql  
      2.   
      3. /*==============================================================*/  
      4. /* Database name:  PD_test                                      */  
      5. /* DBMS name:      Microsoft SQL Server 2005                    */  
      6. /* Created on:     2010/6/13 星期日 17:27:17                       */  
      7. /*==============================================================*/  
      8.   
      9.   
      10. dropdatabase PD_test  
      11. go  
      12.   
      13. /*==============================================================*/  
      14. /* Database: PD_test                                            */  
      15. /*==============================================================*/  
      16. createdatabase PD_test  
      17. go  
      18.   
      19. use PD_test  
      20. go  
      21.   
      22. /*==============================================================*/  
      23. /* Table: Major                                                 */  
      24. /*==============================================================*/  
      25. createtable Major (  
      26.    MajorID              intidentity,  
      27.    Name                 nvarchar(20)         notnull,  
      28.    Remark               nvarchar(Max)        null,  
      29.    constraint PK_MAJOR primarykey (MajorID)  
      30. )  
      31. go  
      32.   
      33. /*==============================================================*/  
      34. /* Table: Student                                               */  
      35. /*==============================================================*/  
      36. createtable Student (  
      37.    StudentID            nvarchar(20)         notnull,  
      38.    MajorID              intnull,  
      39.    Name                 nvarchar(20)         notnull,  
      40.    Sex                  bitnotnull,  
      41.    Age                  intnull,  
      42.    Remark               nvarchar(Max)        null,  
      43.    constraint PK_STUDENT primarykey (StudentID)  
      44. )  
      45. go  
      46.   
      47. altertable Student  
      48.    addconstraint FK_STUDENT_REFERENCE_MAJOR foreignkey (MajorID)  
      49.       references Major (MajorID)  
      50. go  
  • 相关阅读:
    p_value
    p_value
    第一次差异分析
    fdr
    rpkm&map
    rpkm&map
    s
    python数据处理小函数集合
    Jupyter Notebook 的快捷键
    自由度degree of freedom
  • 原文地址:https://www.cnblogs.com/Brainpan/p/6646411.html
Copyright © 2020-2023  润新知