使用JDBC,我了解每个连接代表与数据库的物理tcp连接。
但是在MyBatis中,没有连接而是有会话,那么会话和连接之间有什么区别?
当我打开一个会话或关闭一个会话时,内部会发生什么?这是否意味着创建/关闭连接?
答案 0 :(得分:0)
首先,JDBC连接不代表物理TCP连接。 TCP连接基本上只允许执行很少的操作,主要的操作是在连接的另一端向应用程序发送字节数组。
JDBC连接在下面使用 TCP连接,但这是一个更高级别的抽象,它允许应用程序执行更高级的操作,即执行SQL查询。
类似地,mybatis中的SQLSession
使用JDBC连接,但它是更高级的概念。主要是,它允许执行sql查询并将结果映射到映射所指定的对象。