我有一个需要使用存储过程访问的数据库。 因此,对于每个存储过程的返回类型,我想创建一个实体。
pout 那里有什么工具可以为我生成这些实体类吗?甚至更喜欢可以生成代码以从存储过程中检索数据集的工具。
我完全支持 DRY 原则,所以如果我能生成这个,那就太好了!
我对 ORM、JPA、Hibernate 或其他任何东西都不感兴趣,因为无论如何我都无法访问这些表。
我们使用的数据库是 PostgreSQL。
最佳答案
考虑使用 Spring 的 JdbcTemplate
、StoredProcedure
和相关类来节省您编写存储过程调用的工作。 Spring 对低级 JDBC 内容和以面向对象的方式访问数据库有很好的支持。
你可以使用 Velocity生成类以向存储过程提供 Java 接口(interface)。如果您有多个存储过程,那么编写 Velocity 模板可能是值得的。
作为生成的一部分,您可以自动化 Java 类型、JDBC 类型和 native 数据库类型之间的映射,它们之间通常存在细微差别,例如 java.util.Date
与 java.sql.Date
与数据库自己的日期类型,或者有很大的区别,例如LOB 和游标。
如果您的存储过程结果需要映射到复杂对象,即实体或域类,您可能必须自己编写这些,但您可以生成数据库接口(interface)并自动将结果映射到您的类。
关于java - 从数据库存储过程生成类的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6378957/