В чем разница между сеансом и соединением в MyBatis? - PullRequest
0 голосов
/ 06 мая 2019

Я понимаю, что с JDBC каждое соединение представляет собой физическое TCP-соединение с базой данных.

Но в MyBatis не соединения, а сеансы, так в чем же разница между сеансом и соединением?

Когда я открываю или закрываю сеанс, что происходит внутри?Это значит создать / закрыть соединение?

1 Ответ

0 голосов
/ 14 мая 2019

Прежде всего, соединение JDBC не представляет физическое соединение TCP. TCP-соединение в основном позволяет выполнять очень мало операций, основная из которых - отправка массива байтов приложению на другом конце соединения.

JDBC-соединение использует TCP-соединение внизу, но это абстракция более высокого уровня, которая позволяет приложению выполнять более высокоуровневую операцию, а именно выполнять SQL-запросы.

Аналогично, SQLSession в mybatis использует соединение JDBC, но является еще более высокоуровневой концепцией. В основном, это позволяет выполнить SQL-запрос и отобразить результат на объект, как указано в сопоставлении.

...