我已经创建了一个能够对数据库执行DML操作的应用程序。现在有一种情况,用户在该数据库中(通过使用前端)创建了新表,但是由于模型类不可用而无法访问该表,因此JAVA中有任何类型的Framework都可以执行此类型没有相应模型类依赖性的操作集合。
简而言之,有没有没有模型类就能处理所有类型的DLL和DML操作的框架?我知道它的愚蠢问题。
我将为您标记了问题的一些API以及JDBC提供答案:
JPA在编译时需要一个模型(技术上是在您加载实体时),因此它不适用于像您这样的临时模型。您当然可以使用运行时Java编译并动态加载这些运行时生成的实体,但这似乎很复杂。
jOOQ可以按照规定的方式工作,例如在教程中。您可以使用jOOQ:
在jOOQ中,生成的代码是完全可选的,这为客户端代码增加了附加的类型安全性,但您不必使用它。所有DDL和DML语句都可以用ad-hoc identifiers甚至plain SQL templating表示。
使用Java / Spring / etc。您总是可以使用JDBC,这是上述大多数API在后台使用的较低级别的API。在Spring中,JDBC之上还有一个名为JdbcTemplate
的瘦API,这使使用JDBC更加方便。
(免责声明:我为jOOQ背后的公司工作)