zoukankan      html  css  js  c++  java
  • 我的ORM设计(正在完成中)

          一直对orm很感兴趣,自己也有一点想法。有一天研究了一下nhibernate,竟然发现它就是我所要的,比较兴奋,不过水平有限,把代码全读下来慢慢理解还真不容易,down下慢慢消化吧。等对nhibernate熟悉了肯定会用它,但自己还是想写一些,至少可以验证一下自己的想法。没有一个东东出来心里不塌实啊。

     言归正传。

          在我的想法中,connection不应该暴露出来,写业务层看不到应connection。其次,操作应该比较统一,但不乏多样性并满足各种要求。

    先来看一段代码:

    1。

    ISession session = SessionFactory.OpenSession();
     User user = new User();
      user...
      user...
      
      session.Insert(user);
      session.Flush();
      
    session.Close(); //Connection Auto Close.  

    2。  

    ISession session = SessionFactory.OpenSession();
    ITransaction trans = session.OpenTransaction();
    try
    {
     trans.Begin();
      User user = new User();
      user...
      user...
      
      session.Insert(user);
      session.Flush();
     trans.Commit();

    catch(Exception e)
    {
     trans.RollBack();
    }
    finally
    {
     session.Close();
    }

    3。


    ITransaction trans = SessionFactory.OpenTransaction();

    try
    {
     trans.Begin();
      ISession session1 = SessionFactory.OpenSession(trans);
       User user = new User();
       user...
       user...
       session1.Insert(user);
       session1.Flush();
       session2.Close();
       
      ISession session2 = SessionFactory.OpenSession(trans);
       Order order = new Order();
       order...
       order...
       session2.Update(order);
       session2.Flush();
       session2.Close();
       
     trans.Commit();
    }
    catch(Exception e)
    {
     trans.RollBack();
    }
    finally
    {
     SessionFactory.CloseTransaction(trans);
    }

     这样子操作我觉得还是比较方便的,而且形式上基本能够统一。

    continue...
     

  • 相关阅读:
    C语言数据结构_严蔚敏+吴伟民 课本源码
    html5下F11全屏化的几点注意
    jquery中的globalEval()源码分析
    jquery中的 parseJSON() 源码分析
    javascript正则表达式分组捕获理解
    IE6-IE9中tbody的innerHTML不能赋值
    jquery中的 jquery.contains(a,b)
    jquery中的 deferred之 when (三)
    mac下apache配置,解决It is not safe to rely on the system's timezone settings.
    服务器大量TIME_WAIT和CLOSE_WAIT的原因及解决办法
  • 原文地址:https://www.cnblogs.com/nil/p/70979.html
Copyright © 2011-2022 走看看