CodeSmith简单示例
2019-04-10 11:56
10 查看
① 实体类
<%-- Name:Table Enum Author: ZLH Description:Create an enum of table --%> <%-- 引入模板--%> <%@ CodeTemplate Language="C#" TargetLanguage="Java" Debug="False" Description="CreateAnEnumOfTable" %> <%--声明数据库的参数,在左下角的Database属性中,选择要操作的数据库名称--%> <%@ Property Category="Database" Name="Table" Type="SchemaExplorer.TableSchema" Optional="False" Description="Database the talble enums will come from." %> <%-- 操作数据库 --%> <%@ Assembly Name="SchemaExplorer" %> <%@ Import Namespace="SchemaExplorer" %> <%--SourceDatabase, 是你选择数据库的属性类,涵盖数据库的名称,创建时间,字符串链接,描述等等,自己可以点点看 --%> @Data public class <%=Table %>{ <% for(int i=0;i<Table.Columns.Count;i++){ Response.WriteLine("\tprivate {0} {1};",FieldType(Table.Columns[i].DataType),Table.Columns[i].Name); } %> } <%-- 字段类型转换 --%> <script runat="template"> public string FieldType(System.Data.DbType dbType){ switch (dbType){ case DbType.AnsiString: return "String"; case DbType.AnsiStringFixedLength: return "String"; case DbType.Binary: return "Integer[]"; case DbType.Boolean: return "Boolean"; case DbType.Byte: return "Integer"; case DbType.Currency: return "Double"; case DbType.Date: return "Date"; case DbType.DateTime: return "Date"; case DbType.DateTime2: return "Date"; case DbType.DateTimeOffset: return "Date"; case DbType.Decimal: return "Double"; case DbType.Double: return "Double"; case DbType.Guid: return "Guid"; case DbType.Int16: return "Integer"; case DbType.Int32: return "Integer"; case DbType.Int64: return "Integer"; case DbType.Object: return "Object"; case DbType.SByte: return "Integer"; case DbType.Single: return "Double"; case DbType.String: return "String"; case DbType.StringFixedLength: return "String"; case DbType.Time: return "Date"; case DbType.UInt16: return "Integer"; case DbType.UInt32: return "Integer"; case DbType.UInt64: return "Integer"; case DbType.VarNumeric: return "Double"; case DbType.Xml: return "String"; default: return "Object"; } } </script>
② insert语句
<%-- CodeSmith: Templates Author: ZLH --%> <%@ CodeTemplate Language="C#" TargetLanguage="JAVA" Description="Template description here." %> <%@ Property Name="Columns" Type="SchemaExplorer.ColumnSchemaCollection" Default="" Optional="True" Category="Strings" Description="--表--" %> <%@ Assembly Name="SchemaExplorer" %> <%@ Assembly Name="System.Design" %> <%@ Import Namespace="SchemaExplorer" %> <% Response.Write("insert into {0}(",Columns[0].Table); for(int i=0;i<Columns.Count;i++){ Response.Write(Columns[i].Name); if(i<Columns.Count-1){ Response.Write(","); } } Response.Write(")\nvalues("); for(int i=0;i<Columns.Count;i++){ Response.Write("{0}{1}{2}","#{",Columns[i].Name,"}"); if(i<Columns.Count-1){ Response.Write(","); } } Response.Write(")"); %>
③ update语句
<%-- CodeSmith: Templates Author: ZLH --%> <%@ CodeTemplate Language="C#" TargetLanguage="JAVA" Description="Template description here." %> <%@ Property Name="Columns" Type="SchemaExplorer.ColumnSchemaCollection" Default="" Optional="True" Category="Strings" Description="--表--" %> <%@ Assembly Name="SchemaExplorer" %> <%@ Assembly Name="System.Design" %> <%@ Import Namespace="SchemaExplorer" %> <% Response.Write("update {0} set ",Columns[0].Table); for(int i=0;i<Columns.Count;i++){ Response.Write("{0}={1}{2}{3}",Columns[i].Name,"#{",Columns[i].Name,"}"); if(i<Columns.Count-1){ Response.Write(","); } } Response.Write(" where {0}={1}{2}{3}",Columns[0].Table.Columns[0].Name,"#{",Columns[0].Table.Columns[0].Name,"}"); %>
相关文章推荐
- CodeSmith(C#)简单示例及相关小知识
- python TCP 简单示例
- 【Android UI设计与开发】第10期:顶部标题栏(一)ActionBar详细概述和简单示例
- Java UDP网络编程 - 最简单示例
- php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
- MVC 简单发送邮件示例
- IOS Cache设计详细介绍及简单示例
- 简单的Socket示例
- iOS开发数据库篇—4.SQLite的简单示例(纯C写)
- jQuery实现简单的回到顶部totop功能示例
- .NET中Socket编程的简单示例
- jackson - 生成jason工具-简单示例
- Libevent 学习笔记 (1)——Libevent 2.0安装与简单示例
- java带返回值的线程示例,简单方便
- 简单的excel导入导出示例分享
- 线程的简单示例
- 二叉树的遍历方法之层序-先序-中序-后序遍历的简单讲解和代码示例
- Muduo 网络编程示例之九:简单的消息广播服务
- Thrift的安装和简单示例
- springBoot 与neo4j的简单整合示例