zoukankan      html  css  js  c++  java
  • 自己动手写ORM框架(九):实现删除功能Remove方法

        前面简单的修改功能已经实现了,下面是实现删除功能,代码1-1如下:

    #region 删除实体对应数据库中的数据
    public int Remove<T>(T entity)
    {
        TableInfo tableInfo = DbEntityUtils.GetTableInfo(entity, DbOperateType.DELETE);
        
        string strSql = DbEntityUtils.GetDeleteByIdSql(tableInfo);
        
        IDbDataParameter[] parms = DbFactory.CreateDbParameters(1);
        
        parms[0].ParameterName = tableInfo.Id.Key;
        
        parms[0].Value = tableInfo.Id.Value;
        
        object val = AdoHelper.ExecuteNonQuery(transaction, CommandType.Text, strSql, parms);
        
        return Convert.ToInt32(val);
    }
    #endregion
    
     
    #region 根据主键id删除实体对应数据库中的数据
    public int Remove<T>(object id) where T : new()
    {
        TableInfo tableInfo = DbEntityUtils.GetTableInfo(new T(), DbOperateType.DELETE);
        
        string strSql = DbEntityUtils.GetDeleteByIdSql(tableInfo);
        
        IDbDataParameter[] parms = DbFactory.CreateDbParameters(1);
        
        parms[0].ParameterName = tableInfo.Id.Key;
        
        parms[0].Value = id;
        
        object val = AdoHelper.ExecuteNonQuery(transaction, CommandType.Text, strSql, parms);
        
        return Convert.ToInt32(val);
    }
    #endregion 

        DbEntityUtils.GetDeleteByIdSql方法代码如下1-2:

    public static string GetDeleteByIdSql(TableInfo tableInfo)
    {
        string strSql = "delete {0} where {1} =" + AdoHelper.DbParmChar + tableInfo.Id.Key;
        strSql = string.Format(strSql, tableInfo.TableName, tableInfo.Id.Key);
        return strSql;
    }

        到这里为止简单的增、删、改、查功能都已完成,还有许多复杂的操作需要完成,但需要大量的时间和精力,这里只是分享一种思路或是作技术交流,所以不再继续深入的研究下去了,如有兴趣的也可以继续研究和分享经验。

        下面是几个类的代码,EntityManagerImpl类:

    EntityManagerImpl


    EntityManagerFactory类:

    EntityManagerFactory


    TransactionManager类:

    TransactionManager


    StudentDAL调用类:

    StudentDAL

     

    有一些园友希望能提供源码,这里将提供源码下载地址OrmTest.rar下载

  • 相关阅读:
    jQuery 源码解析(二十四) DOM操作模块 包裹元素 详解
    jQuery 源码解析(二十三) DOM操作模块 替换元素 详解
    jQuery 源码解析(二十二) DOM操作模块 复制元素 详解
    jQuery 源码分析(二十一) DOM操作模块 删除元素 详解
    jQuery 源码分析(二十) DOM操作模块 插入元素 详解
    jQuery 源码分析(十九) DOM遍历模块详解
    python 简单工厂模式
    python 爬虫-协程 采集博客园
    vue 自定义image组件
    微信小程序 image组件坑
  • 原文地址:https://www.cnblogs.com/wangwei123/p/1770598.html
Copyright © 2011-2022 走看看