为什么要用 ORM? 和 JDBC有何不一样?
ORM(Object-Relational Mapping),对象关系映射,是一种思想,就是把Object转变成数据库中的记录,或者把数据库中的记录转变成Object,我们可以用jdbc来实现这种思想。
其实,如果我们的项目是严格按照OOP方式编写的话,我们的JDBC程序不管是有意还是无意,就已经在实现ORM的工作了。
现在有许多ORM工具,它们底层调用JDBC来实现了ORM工作,我们直接使用这些工具,就省去了直接使用JDBC的繁琐细节,提高了开发效率。比如Hibernate、MyBatis等。
数据库连接池工作机制
J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。
客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其标记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量由配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
实现方式,返回的Connection是原始Connection的代理,代理Connection的close方法不是真正关连接,而是把它代理的Connection对象还回到连接池中。