zoukankan      html  css  js  c++  java
  • mysql测试spring事务是否生效

    同时对三张表进行插入操作,事务保证完整性。下面进行简单测试:

    1. 锁定表

    锁定用户表

    LOCK TABLES user WRITE;

    查看表是否锁定:

    show OPEN TABLES where In_use > 0;

    显示被锁定的表。

    2. 验证在同一session下是否可以插入操作

    insert into user(userId,ip,type,terminal) values(10002,'127.0.0.1',7,'pc');

    可以操作成功。

    3. 启动spring应用,执行插入操作,不能成功。

    4,解锁

    UNLOCK TABLES;

    查看被锁定的表:

    show OPEN TABLES where In_use > 0;

    上述表不在锁定中。

    5. 调用spring应用,执行插入操作,操作可以成功。

    所以,应用spring的@transactional进行事务管理是ok的。

    附录:

     SHOW OPEN TABLES Syntax:https://dev.mysql.com/doc/refman/5.0/en/show-open-tables.html

    SHOW OPEN TABLES [{FROM | IN} db_name]
        [LIKE 'pattern' | WHERE expr]
    

    SHOW OPEN TABLES lists the non-TEMPORARY tables that are currently open in the table cache. SeeSection 8.4.3.1, “How MySQL Opens and Closes Tables”. The WHERE clause can be given to select rows using more general conditions, as discussed in Section 19.18, “Extensions to SHOW Statements”.

    The FROM and LIKE clauses may be used as of MySQL 5.0.12. The LIKE clause, if present, indicates which table names to match. The FROM clause, if present, restricts the tables shown to those present in the db_namedatabase.

    SHOW OPEN TABLES output has the following columns:

    • Database

      The database containing the table.

    • Table

      The table name.

    • In_use

      The number of table locks or lock requests there are for the table. For example, if one client acquires a lock for a table using LOCK TABLE t1 WRITEIn_use will be 1. If another client issues LOCK TABLE t1 WRITE while the table remains locked, the client will block waiting for the lock, but the lock request causes In_use to be 2. If the count is zero, the table is open but not currently being used. In_use is also increased by the HANDLER ... OPENstatement and decreased by HANDLER ... CLOSE.

    • Name_locked

      Whether the table name is locked. Name locking is used for operations such as dropping or renaming tables.

  • 相关阅读:
    HTTP协议抓包分析
    cmd 中使用 tracert
    Ubuntu 搭建zabbix
    kerberos+ldap
    运行程序显示丢失“MSVCR100D.dll”
    熊猫烧香病毒样本分析
    Masm32sdk安装指南
    16位汇编实现三大基本排序
    逆向工程初步160个crackme-------3
    一个入门级CTF的Reverse
  • 原文地址:https://www.cnblogs.com/davidwang456/p/4882674.html
Copyright © 2011-2022 走看看