PyBatis0.1版本-测试

表结构:

name varchar(100),age int,score int

下面是测试代码:

# -*- coding:utf-8 -*-
'''
Created on 2013-3-5

@author: naughty
'''
from com.domain import beans
from com.domain.TransactionManager import TransactionManager
from com.util.DBExecuteCenter import queryForObject, queryInsert, queryUpdate, \
    queryDelete

if __name__ == '__main__':
    #===========================================================================
    # 测试插入
    #===========================================================================
    s = beans.Student()
    s.age = '1'
    s.name = 'cc'
    s.score = 11
    count = queryInsert('insert', s)
    print count
   
    #============================================================================
    # 测试大事务
    #============================================================================
    s = beans.Student()
    s.age = '1'
    s.name = 'aa'
    s.score = 11
    t=TransactionManager()
    try:
        t.queryInsert('insert', s)
        s.name='bb'
        t.queryInsert('insert', s)
        t.commitTransaction()
    except:
        t.rollbackTransaction()
    print 'end'

分别测试了一个插入的情况和一个能正常执行的大事务情况。

------------------------------------------------

下面是一个测试不能正常执行的大事务的情况。

由于name字段是主键,所以插入一个已经存在的name的记录,会失败。此时,事务会回滚。

# -*- coding:utf-8 -*-
'''
Created on 2013-3-5

@author: naughty
'''
from com.domain import beans
from com.domain.TransactionManager import TransactionManager
from com.util.DBExecuteCenter import queryForObject, queryInsert, queryUpdate, \
    queryDelete

if __name__ == '__main__':
    #===========================================================================
    # 测试插入
    #===========================================================================
    s = beans.Student()
    s.age = '1'
    s.name = 'cc'
    s.score = 11
    count = queryInsert('insert', s)
    print count
   
    #============================================================================
    # 测试大事务
    #============================================================================
    s = beans.Student()
    s.age = '1'
    s.name = 'bb'
    s.score = 11
    t=TransactionManager()
    try:
        t.queryInsert('insert', s)
        s.name='cc'
        t.queryInsert('insert', s)
        t.commitTransaction()
    except:
        t.rollbackTransaction()
    print 'end'

执行完毕之后,只有cc插入到数据库中了。bb并没有插入到数据库中【因为大事务中,bb插入之后又想插入cc,但是cc已经在数据库中存在了】。说明事务起作用了。

------------------------------------------------

pybatis 0.1版本下载地址:

http://download.csdn.net/detail/imzoer/5133860

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值