zoukankan      html  css  js  c++  java
  • C++ ORM ODB 入门(三)

    本节介绍ODB的事务与 异常。

    数据库操作经常涉及到操作多个表格,或者表格中的多行数据。因此必须保证整个过程是原子性的。ODB为数据库的事务提供了易于使用的接口。

    使用odb::databse的相关方法(persist、update、erase、load)时,必须处于某个事务之间。

    事务由 odb::transcation 类表示.

    odb::transaction t(db.begin());

    ....ORM相关代码、或者SQL代码;

    t.commint(); or t.rollback();;..

    不过很不幸,如果只是上面的代码,在执行ODB的相关接口抛出异常时,程序就崩溃了。因此一般在执行事务的时候,都加上try...catch(odb::exception & e) 来捕获odb异常。。

    事务很简单,唯一要注意的就是,ODB的事务不支持并发。

    任何时刻不能有2个事务同时执行。。否则后面执行的事务就会抛出异常。

    解决:通过odb::transaction::has_current()方法判断但前是否有事务正在执行。并根据具体的情况做出实际的选择。 

  • 相关阅读:
    【git hub使用】
    【struct2 第一天】
    【JSP基础 第一天】
    【Java基础学习 day01】
    网站建设 【Django】 【MTV】
    Python-Json字符串和XML解析
    Python-冒泡和快排
    Python-面向对象编程
    练习-字符串编码
    练习-统计文件中单词数量
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4013240.html
Copyright © 2011-2022 走看看