Zmodyfikuj swój kod i zmień kolejność wykonywania w następujący sposób. Powinno działać dobrze:
Statement statement = connection.createStatement();
statement.execute("insert into student values (3,'kamal')");
connection.commit();
Statement statement1 = connection1.createStatement();
statement1.execute("delete from student where student_id = 3");
connection1.commit();
Problem polega na tym, że poprzednio wykonana instrukcja INSERT nie została jeszcze zatwierdzona i blokuje tabelę, gdy próbujesz wykonać nową instrukcję usuwania, tworząc sytuację zakleszczenia w DB.