> For the complete documentation index, see [llms.txt](https://potoyang.gitbook.io/spring-in-action-v4/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://potoyang.gitbook.io/spring-in-action-v4/untitled-4/untitled-1.md).

# 10.3　在 Spring 中使用 JDBC

持久化技术有很多种，而 Hibernate、iBATIS 和 JPA 只是其中的几种而已。尽管如此，还是有很多的应用程序使用最古老的方式将 Java 对象保存到数据库中：他们自食其力。不，等等，这是他们挣钱的途径。这种久经考验并证明行之有效的持久化方法就是古老的 JDBC。

为什么不采用它呢？JDBC 不要求我们掌握其他框架的查询语言。它是建立在 SQL 之上的，而 SQL 本身就是数据访问语言。此外，与其他的技术相比，使用 JDBC 能够更好地对数据访问的性能进行调优。JDBC 允许你使用数据库的所有特性，而这是其他框架不鼓励甚至禁止的。

再者，相对于持久层框架，JDBC 能够让我们在更低的层次上处理数据，我们可以完全控制应用程序如何读取和管理数据，包括访问和管理数据库中单独的列。这种细粒度的数据访问方式在很多应用程序中是很方便的。例如在报表应用中，如果将数据组织为对象，而接下来唯一要做的就是将其解包为原始数据，那就没有太大意义了。

但是 JDBC 也不是十全十美的。虽然 JDBC 具有强大、灵活和其他一些优点，但也有其不足之处。
