Galbanum之Orm(三)

汗一把,第二次写这个三了,希望不会再发表失败的事情了。谢谢。
这次主要是讲一讲通过实体来操作数据库的方法,这也是Orm的核心了,下面代码演示添加,更新,删除,查询等操作

实体类参考一里面的Employee类,

添加方法为IDataBase的Save(IEntity entity);,例子如下:
  1.  private void Insert()
  2.     {
  3.         Employee emp=new Employee();
  4.         emp.Age=12;
  5.         emp.BirthDay=DateTime.Now;
  6.         emp.Name="ojekleen";
  7.         emp.Sex=true;
  8.         IDataBase dbase = DataBaseFactory.GetDataBase("conn1");
  9.         try
  10.         {
  11.             dbase.Open();
  12.             dbase.BeginTransaction();
  13.             dbase.Save(emp);
  14.             dbase.Commit();
  15.         }
  16.         catch (DataBaseException ex)
  17.         {
  18.             dbase.RollBack();
  19.             this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Exception""<script>alert('" + ex.Message + "');</script>");
  20.         }
  21.         finally
  22.         {
  23.             dbase.Close();
  24.         }
  25.     }
查询单个实体的方法为IDataBase接口中的Get<T>();

  1.  private void Get()
  2.     {
  3.         IDataBase dbase = DataBaseFactory.GetDataBase("conn1");
  4.         dbase.Open();
  5.         Employee emp=dbase.Get<Employee>(23);//23为主键ID的值
  6.         dbase.Close();
  7.     }


更新方法为IDataBase接口中的Update<IEntity entity>();

  1.  private void Update()
  2.     {
  3.         IDataBase dbase = DataBaseFactory.GetDataBase("conn1");
  4.         try
  5.         {
  6.             dbase.Open();
  7.             Employee emp = dbase.Get<Employee>(23);//23为主键ID的值
  8.             emp.Name = "三尾";
  9.             emp.Age = 24;
  10.             emp.Sex = false;
  11.             dbase.Update(emp);//无事务情况
  12.         }
  13.         catch (DataBaseException ex)
  14.         {
  15.             dbase.RollBack();
  16.             this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Exception""<script>alert('" + ex.Message + "');</script>");
  17.         }
  18.         finally
  19.         {
  20.             dbase.Close();
  21.         }
  22.     }

删除方法为IDataBase接口中的Delete<T>(object id);

  1.  private void Delete()
  2.     {
  3.         IDataBase dbase = DataBaseFactory.GetDataBase("conn1");
  4.         try
  5.         {
  6.             dbase.Open();
  7.             dbase.BeginTransaction();//有事务情况
  8.             dbase.Delete<Employee>(25);
  9.             dbase.Commit();
  10.            
  11.         }
  12.         catch (DataBaseException ex)
  13.         {
  14.             dbase.RollBack();
  15.             this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Exception""<script>alert('" + ex.Message + "');</script>");
  16.         }
  17.         finally
  18.         {
  19.             dbase.Close();
  20.         }
  21.     }
基本上是比较简单了,因为考虑到一次数据库连接可能执行多个操作,所以没有把数据库的open,close封装进去,这也是个人现有情况的一种思想吧。这也无须多讲,都一看就能明白的。下篇主要讨论下我的主要设计思想



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值