这边讲述的数据库死锁是由于查询条件顺序不对而造成的一类,主要是两个线程在同时对一个数据库表进行操作时,出现了下列情况,假设一个数据库表内有5行数据,线程1需要对1-4行数据进行update操作,而线程2需要对2-5行数据进行update操作,但是由于操作的顺序调整的不正确,线程1是对数据行1,2,3,4这样的顺序操作,并且加入batch的,而线程2是对数据行5,4,3,2这样的顺序操作的,并且加入batch,于是锁就这样产生了: 当线程1的executeBatch进行批量update时,锁住了123行数据,开始操第4行数据时,此时线程二的executeBatch正当操作完第4行数据,准备操作第3行数据,而此时线程2则拿着4,5行数据的锁,并且不会释放。 于是线程1发现第4行...