mysql測試spring事務是否生效

來源:互聯網
上載者:User

標籤:

同時對三張表進行插入操作,事務保證完整性。下面進行簡單測試:

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.

mysql測試spring事務是否生效

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.