spring手动事务研究
**
结论:
1,当在事务中选择事务隔离级别为读已提交的时候,事务未提交之前,不能对事务中有CUD操作的表格进行读操作,读不了;
2,事务锁定的CUD行记录,其他的地方如果对被锁定的记录执行CUD操作的时候,就要等待事务提交之后才能执行.所以执行CUD操作的时候,要尽量准确,避免锁定过多的记录;
多用准确的主键(updatebyprimarykey,updatebyprimarykeyselecty),delete(语句中放入的对象要有id主键值.用where id=xxx来准确删除)
3,避免多个手动事务的并发执行.并且取的还是同一个记录,然后互相锁定(比如插入订单锁定多个表格,然后开票等其他操作,也锁定多个表格.插入订单先取得表A的锁,然后又需要表B的锁;开票先取得表B的锁,又需要表A的锁.然后并发执行了,就死锁了)
**