Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wykorzystać to samo połączenie do dwóch zapytań w Springu?

Upewnij się, że Twoje DAO jest opakowane w transakcję (np. za pomocą Spring’s Interceptors for Transactions). To samo połączenie będzie wtedy używane do obu połączeń.

Jeszcze lepiej byłoby mieć transakcje o jeden poziom wyżej, w warstwie usług.

Dokumentacja:http://static .springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html

Aktualizacja: Jeśli spojrzysz na JavaDoc DataSourceUtils.getConnection() metody, do której odwołujesz się w aktualizacji, zobaczysz, że uzyskuje połączenie związane z bieżącym wątkiem:

Zgodnie z tym powinien działać tak, jak go skonfigurowałeś. Używałem tego wzoru wiele razy i nigdy nie napotkałem żadnych problemów, które opisałeś...

Zajrzyj również do tego wątku, ktoś zajmował się tam podobnymi problemami:Transakcje deklaratywne Spring Jdbc zostały utworzone, ale nic nie robią



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Eksportuj dane z MySQL do Excela z kodowaniem UTF-8

  2. Nasz serwer nie może obsłużyć więcej niż 20 żądań na sekundę

  3. Ostrzeżenie:mysql_connect():[2002] Brak takiego pliku lub katalogu (próba połączenia przez unix:///tmp/mysql.sock) w

  4. Wykonywanie skryptu php w javascript?

  5. Excel VBA:pisanie do bazy danych mysql