代码生成器工具之六
来源:互联网 发布:快速排序算法实现代码 编辑:程序博客网 时间:2024/05/22 01:33
3。BLL模板
<?xml version="1.0" encoding="UTF-8" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/">using System;using System.Collections.Generic;using System.Data.SqlClient;using System.Data;using System.Text;using <xsl:value-of select="TabelModel/NameSpacePri"/>Model;using <xsl:value-of select="TabelModel/NameSpacePri"/>DAL;namespace <xsl:value-of select="TabelModel/NameSpacePri"/>BLL{ public partial class <xsl:value-of select="TabelModel/ModelName"/>BLL { #region 属性/构造函数 /// <summary> /// 数据链路访问对象 /// </summary> private <xsl:value-of select="TabelModel/ModelName"/>DAL DAL = null; /// <summary> /// 默认构造函数 ///</summary> public <xsl:value-of select="TabelModel/ModelName"/>BLL() { DAL = new <xsl:value-of select="TabelModel/ModelName"/>DAL(); } #endregion #region 数据检测 <xsl:if test="TabelModel/HasPK = 'true'"> /// <summary> /// 是否存在指定主键的数据 ///</summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']"> /// <param><xsl:attribute name="name"><xsl:value-of select="VarName"/></xsl:attribute>指定<xsl:value-of select="VarName"/></param> </xsl:for-each> /// <returns>True/False</returns> public bool ExistsWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.ExistsWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> <xsl:if test="TabelModel/HasLogicKey = 'true'"> /// <summary> /// 是否存在指定逻辑主键的数据 ///</summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']"> /// <param><xsl:attribute name="name"><xsl:value-of select="VarName"/></xsl:attribute>指定<xsl:value-of select="VarName"/></param> </xsl:for-each> /// <returns>True/False</returns> public bool ExistsWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.ExistsWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> /// <summary> /// 是否存在满足指定条件的数据 ///</summary> /// <param name="strWhere">条件(不包含“Where”关键字)</param> /// <returns>True/False</returns> public bool ExistsWithParam(string strWhere) { return DAL.ExistsWithParam(strWhere); } #endregion #region 数据检索 <xsl:if test="TabelModel/HasPK = 'true'"> /// <summary> /// 根据主键检索数据实体 /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns>检索结果</returns> public <xsl:value-of select="TabelModel/ModelName"/>Model Get<xsl:value-of select="TabelModel/ModelName"/>ByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> <xsl:if test="TabelModel/HasLogicKey = 'true'"> /// <summary> /// 根据逻辑主键检索数据实体 /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns>检索结果</returns> public <xsl:value-of select="TabelModel/ModelName"/>Model Get<xsl:value-of select="TabelModel/ModelName"/>ByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> /// <summary> /// 根据条件检索数据实体 /// </summary> /// <param name="strWhere">条件</param> /// <returns>检索结果</returns> public <xsl:value-of select="TabelModel/ModelName"/>Model Get<xsl:value-of select="TabelModel/ModelName"/>ByParam(string strWhere) { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ByParam(strWhere); } <xsl:if test="TabelModel/HasPK = 'true'"> /// <summary> /// 根据主键检索数据(DataRow) /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns>检索结果</returns> public DataRow GetRowByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.GetRowByPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> <xsl:if test="TabelModel/HasLogicKey = 'true'"> /// <summary> /// 根据逻辑主键检索数据(DataRow) /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns>检索结果</returns> public DataRow GetRowByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.GetRowByLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> /// <summary> /// 根据条件检索数据(DataRow) /// </summary> /// <param name="strWhere">条件</param> /// <returns>检索结果</returns> public DataRow GetRowByParam(string strWhere) { return DAL.GetRowByParam(strWhere); } /// <summary> /// 获取所有数据实体列表 /// </summary> /// <returns>检索结果</returns> public List<xsl:text disable-output-escaping="yes"><</xsl:text><xsl:value-of select="TabelModel/ModelName"/>Model<xsl:text disable-output-escaping="yes">></xsl:text> Get<xsl:value-of select="TabelModel/ModelName"/>List() { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>List(); } /// <summary> /// 根据条件检索数据实体列表 /// </summary> /// <param name="strWhere">条件</param> /// <returns>检索结果</returns> public List<xsl:text disable-output-escaping="yes"><</xsl:text><xsl:value-of select="TabelModel/ModelName"/>Model<xsl:text disable-output-escaping="yes">></xsl:text> Get<xsl:value-of select="TabelModel/ModelName"/>ListByParam(string strWhere) { return DAL.Get<xsl:value-of select="TabelModel/ModelName"/>ListByParam(strWhere); } /// <summary> /// 获取所有数据列表(DataTable) /// </summary> /// <returns>检索结果</returns> public DataTable GetTable() { return DAL.GetTableByParam(String.Empty); } /// <summary> /// 根据条件获取数据列表(DataTable) /// </summary> /// <param name="strWhere">条件</param> /// <returns>检索结果</returns> public DataTable GetTableByParam(string strWhere) { return DAL.GetTableByParam(strWhere); } #endregion <xsl:if test="TabelModel/IsView = 'false'"> #region 数据增/删/改 /// <summary> /// 新增 ///</summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Add<xsl:value-of select="TabelModel/ModelName"/>(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Add<xsl:value-of select="TabelModel/ModelName"/>(model); } <xsl:if test="TabelModel/HasPK = 'true'"> /// <summary> /// 编辑 /// </summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Update<xsl:value-of select="TabelModel/ModelName"/>(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Update<xsl:value-of select="TabelModel/ModelName"/>(model); } /// <summary> /// 删除数据实体 /// </summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Delete<xsl:value-of select="TabelModel/ModelName"/>(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Delete<xsl:value-of select="TabelModel/ModelName"/>(model); } /// <summary> /// 根据主键删除 /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns></returns> public int DeleteWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.DeleteWithPK(<xsl:value-of select="TabelModel/Fields/FieldModel[IsPK = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsPK = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> <xsl:if test="TabelModel/HasLogicKey = 'true'"> /// <summary> /// 编辑(根据逻辑主键) /// </summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Update<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Update<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(model); } /// <summary> /// 删除数据实体(根据逻辑主键) /// </summary> /// <param name="model">数据实体</param> /// <returns></returns> public int Delete<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(<xsl:value-of select="TabelModel/ModelName"/>Model model) { return DAL.Delete<xsl:value-of select="TabelModel/ModelName"/>WithLogicKey(model); } /// <summary> /// 根据逻辑主键删除 /// </summary> <xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true']"> /// <param> <xsl:attribute name="name"> <xsl:value-of select="VarName"/> </xsl:attribute> <xsl:value-of select="VarName"/> </param> </xsl:for-each> /// <returns></returns> public int DeleteWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarType"/><xsl:text> </xsl:text><xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarType"/><xsl:text> </xsl:text><xsl:value-of select="VarName"/></xsl:for-each>) { return DAL.DeleteWithLogicKey(<xsl:value-of select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][1]/VarName"/><xsl:for-each select="TabelModel/Fields/FieldModel[IsLogicKey = 'true'][position()>1]">, <xsl:value-of select="VarName"/></xsl:for-each>); } </xsl:if> /// <summary> /// 根据条件删除 /// </summary> /// <param name="strWhere">条件</param> /// <returns>删除条数</returns> public int DeleteByParam(string strWhere) { return DAL.DeleteByParam(strWhere); } #endregion </xsl:if> }} </xsl:template></xsl:stylesheet>
OK!写完了大家自己写个试试吧!(*^__^*)
- 代码生成器工具之六
- 代码生成器工具之二
- 代码生成器工具之三
- 代码生成器工具之四
- 代码生成器工具之五
- 代码生成器工具之一
- 软件开发工具介绍之 1 代码生成器
- 工具:Android本地代码生成器
- FreeMaker之代码生成器
- 代码生成器 CodeSmith 的使用(六)
- Python学习之路六---迭代器、生成器
- 工具篇_动软代码生成器
- 新工具:AllJoyn C++ 代码生成器
- 【rapid-generator】代码生成器工具使用
- jeesite快速开发平台(六)---代码生成器的应用
- 大话快速开发--桥接层之代码生成器
- ibatis学习之代码生成器(一)
- QtCreator代码生成器之opencv版本
- Linux常用的系统管理命令
- DNF.CF牛B辅助,会让你每天惊喜不断,我们期待你的到来。http://wgz.5d6d.com
- 代码生成器工具之四
- Js图片浏览器
- 代码生成器工具之五
- 代码生成器工具之六
- PHP创建数据库与表实例
- 数据结构(C++)中C++常用语法
- 问题思考
- 遍历页面所有TextBox控件并给它赋值为string.Empty
- 淘宝网图片预览效果
- 后3G时代的LTE技术介绍
- 旋转图像
- Canny算子