mysql读写锁及事务
并且推荐
PESSIMISTIC_READ,
PESSIMISTIC_WRITE,
而不是
READ,
WRITE,
但是官方文档貌似没有更新这个案例,踩了一些坑.

新建一个实体Book.java
/**
* User: laizhenwei
* Date: 2018-04-18 Time: 9:04
* Description:
*/
@Entity
@Table(name = "test_book")
@Alias("Book")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Book extends AbstractJbatisIdEntity{
private static final long serialVersionUID = -1L;
private String name;
private String author;
}
BookRepository.java
public static final CountDownLatch readCount = new CountDownLatch(1);
public static final CountDownLatch saveCount = new CountDownLatch(1);
@Transactional(propagation = Propagation.REQUIRES_NEW)
@Override
public Book save

本文探讨了在mysql中使用SpringDataJpa和Mybatis实现读写锁的机制。通过创建Book实体,进行Junit测试,展示在读事务持有锁时,写事务需要等待读事务完成才能进行。还提到了不使用@Lock注解时,如果数据未修改,写操作可以立即执行。Mybatis的实现则需要手动编码来达到类似的效果。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



