Java 如何在不使用对象关系模型(ORM)的情况下使用原始JDBC实现数据访问层

Java 如何在不使用对象关系模型(ORM)的情况下使用原始JDBC实现数据访问层,java,jdbc,orm,data-access-layer,Java,Jdbc,Orm,Data Access Layer,我正在开发一个Web应用程序,它将使用Play框架用Java设计。此应用程序将具有高流量,因此性能将是一个主要问题。因此,性能原因阻止我使用对象关系模型(ORM)。在搜索过程中,我发现ORM可以通过数据访问层(DAL)在体系结构上被替换,也可以通过“原始”JDBC访问数据库。然而,由于我是一个新手,我不明白什么是“原始”JDBC。这和这本书里的相似吗。此外,我们如何使用此模式实现模块化和可管理的DAL?您最好的选择是尽快地开始实现您的程序(轻量级对象关系模式可能是一个不错的选择)。您的目标是加快

我正在开发一个Web应用程序,它将使用Play框架用Java设计。此应用程序将具有高流量,因此性能将是一个主要问题。因此,性能原因阻止我使用对象关系模型(ORM)。在搜索过程中,我发现ORM可以通过数据访问层(DAL)在体系结构上被替换,也可以通过“原始”JDBC访问数据库。然而,由于我是一个新手,我不明白什么是“原始”JDBC。这和这本书里的相似吗。此外,我们如何使用此模式实现模块化和可管理的DAL?

您最好的选择是尽快地开始实现您的程序(轻量级对象关系模式可能是一个不错的选择)。您的目标是加快创建速度(但请确保“隐藏”程序的元素,以便您的程序中的大多数人不会“知道”ORM或直接JDBC的使用


一旦你的程序开始运行,测量你的性能阻碍因素在哪里……你可能会对你的发现感到惊讶。减少“运行”的时间会给你带来很大的好处,让你的改进工作集中在实际问题上,而不是“预期的问题”.

我会避免这种情况,而选择一个经过验证的ORM,因为他们已经解决了您必须解决的性能问题。原始JDBC可能意味着您可以使用JDBC编写自己的程序。是的,这是Vogella教程中的普通JDBC,您应该评估一个框架,帮助您在获得预期性能的同时使用普通JDBC。@onesixtyfourth我在一个项目中使用普通JDBC,因为性能是一个关键术语,我们结束了为DAL创建自己的简单框架。我的建议是坚持使用任何ORM。对于如此庞大的应用程序,使用原始JDBC进行代码维护是一场噩梦。任何框架都会进行性能调整。如果最理想的质量属性是不是维护而是性能?您是否曾经通过ORM框架进行过调试,以查看对纯原始JDBC执行简单查询所需的时间?是的。但是,如果其中一个“隐藏”了底层数据访问的确切选择,您可以在进行“性能改进”之前看到性能问题的所在.在不知道程序的性质或用户的实际与预期活动的情况下,预测什么样的底层机制总是表现最好是错误的。获得“最小可行产品”(可测试产品)尽可能快,并对其进行测试。当然,一个人可以拥有一个具有文件访问或其他功能的MVP。我的建议是尽可能快地进入“可播放”状态(具有良好的类结构)然后测量/改进/重复。如果您可以通过本机JDBC数据访问更快地做到这一点,那么很好,如果轻量级ORM让您更快地做到这一点,请使用它。只是不要过早(或永远)承诺某个无法更改的特定实现。