背景:最近一个新项目一高兴选了Mysql 8,结果出了好几个麻烦。 Toad for mysql 连不上了,习惯的动软代码生成器也连不上了。 还是挺喜欢动软的傻瓜式操作的,现在没办法了试试CodeSmith,折腾了半天终于算是出坑了, 做个笔记免得下次再跳。
一、需求分析
大概的需求:
1.批量选择表:先选择数据库,然后选择这个数据库中想生成的表,不选择则认为是生成全部。
2.批量选择模板: 首先想到的是像选择数据表一样,后来决定通过选择目录的方式,这样可以将模板按照一定的目录结构放在一个总目录中,生成的代码文件仿照对应模板的目录结构。
3.自动生成文件:通过模板的RenderToFile方法自动写入到文件,不再需要从弹出窗口中复制。
4.文件名按照一个规则自定义:每个模板可以定义一个名称规则,如上文的 {0}Model.cs 则会生成文件 UserModel.cs 。
5.统一设置命名空间:如上例可以在弹出框中设置,但多个模板同时调用的情况下,只需设置一次使多个模板同时生效。
二、数据源连接
点击右上角的数据源配置,添加一个:
弹出框点击Add,出现下面的
根据对应的数据库类型选择即可,mysql连不上的请看上一篇文章:codesmith连接Mysql。