zoukankan      html  css  js  c++  java
  • .net Dapper 实践系列(6) ---事务删除(layui+mvc5+Dapper+MySQL)

    写在前面


    上一小节,总结了事务多表更新的两种方法。一个是只更新原来的数据,一个是先删除原来的数据再往里面添加新的数据。而这一小节,说的是事务的多表删除。

    实现步骤


    1.在BorrowBook控制器中 创建Del方法 执行删除单表记录

    /// <summary>
    /// 删除单表数据
    /// </summary>
    /// <param name="Id">参数Id</param>
    /// <returns>成功返回1,失败返回0</returns>
    public int Del(string Id)
    {
          int result = 0;
          string sql_del = "delete from sys_Borrow_Book  where book_Id=?book_Id";
          //动态参数
          DynamicParameters pr = new DynamicParameters();
          pr.Add("?book_Id", Id);
          result = DapperDBContext.Execute(sql_del, pr);
          return result;
    }
    

    2.在BorrowBook控制器中 创建Dels方法 执行删除多表记录

    /// <summary>
    /// 删除多表数据
    /// </summary>
    /// <param name="Id">参数Id</param>
    /// <returns>成功返回1,失败返回0</returns>
    public int Dels(string Id)
    {
          int result = 0;
          string sql_del = "delete from sys_Borrow_Book  where book_Type_id=?id";
          string sql_dels = "delete from sys_Book_Type where book_Type_id=?id";
          var para = new List<Tuple<string, object>>();
          Tuple<string, object> temp1;
          //动态参数
          DynamicParameters pr = new DynamicParameters();
          pr.Add("?book_Id", Id);
          temp1 = new Tuple<string, object>(sql_del, pr);
          para.Add(temp1);
          temp1 = new Tuple<string, object>(sql_dels, pr);
          para.Add(temp1);
          bool boolresult = DapperDBContext.ExecuteTransaction(para).Item1;
          if (boolresult == true) { result = 1; }
          return result;
    }
    

    3.在View视图中 加载数据Load方法拼接字符串最后

    /*删除*/
    $(".btndel").click(function () {
          var Id = $(this).attr("id");
          if (Id != null) {
              layer.confirm('是否确定删除?', {
              btn: ['确定', '取消'] //按钮
          }, function () {
           $.get("../BorrowBook/Del?Id=" + Id, function (msg) {
              if (msg > 0) { layer.msg("删除成功!", { icon: 1 }); Load(); }
              else { layer.msg("删除失败!", { icon: 2 }); return; }
              });
           });
          }
          else { layer.msg("未选择删除记录", { icon: 3 }); return;}
    });
    
    

    写在最后


    至此,整个项目的搭建和功能的已经全部实现。
    注意:
    此次的实践,只在开发环境中测试过。没有认真的在生产环境中测试过。所以,还会有存在不少的问题。仅供实现思路的参考。

  • 相关阅读:
    Notepad++编译和运行Java
    Notepad++ 代码格式化插件
    使用electron构建跨平台Node.js桌面应用经验分享
    如何在64位WIN7下安装64位的解压版mysql-5.6.37-winx64.zip
    排序算法之冒泡排序的思想以及Java实现
    centos7.1部署java环境服务器
    Hadoop化繁为简-从安装Linux到搭建集群环境
    零基础搭建 spring mvc 4 项目(本文基于 Servlet 3.0)
    关闭Eclipse按空格和等号键自动补全内容
    新一代服务器性能测试工具Gatling
  • 原文地址:https://www.cnblogs.com/ZengJiaLin/p/11346157.html
Copyright © 2011-2022 走看看