Java中是不是有框架来设置持久层?
Posted
技术标签:
【中文标题】Java中是不是有框架来设置持久层?【英文标题】:Is there a framework in Java to setup up persistence layer?Java中是否有框架来设置持久层? 【发布时间】:2012-07-17 11:38:19 【问题描述】:我尝试为 Java Web 应用程序的持久层编写单元测试。我使用 JUnit 来测试服务层,我也想将它用于持久层。
因为应用程序是高度可定制的,所以可以通过配置更改持久层以使用支持 JDBC 的数据库(mysql、Postgres、Oracle)和嵌入式数据库(sqljet)。是否有一个框架可以帮助我定义一个用于测试和设置数据存储的数据集?我的目标是编写一组测试并将其用于持久层的所有实现。 DbUnit 不是一个选项,因为我有非 JDBC 版本的持久层 (sqljet)。
提前致谢,
马库斯
【问题讨论】:
【参考方案1】:DBUnit 可能会帮助你
DbUnit 是一个 JUnit 扩展(也可用于 Ant) 数据库驱动的项目,除其他外,将您的数据库 在测试运行之间进入已知状态。这是一个很好的方法 避免一个测试用例可能出现的无数问题 损坏数据库并导致后续测试失败或 加剧伤害。
DbUnit 能够将您的数据库数据导出和导入到 来自 XML 数据集。从 2.0 版开始,DbUnit 也可以与非常 在流模式下使用时的大型数据集。 DbUnit 也可以帮助您 验证您的数据库数据是否与预期的一组值匹配。
http://www.dbunit.org/
【讨论】:
我也找到了这个框架。但我认为,它与 JDBC 相关。我找到了使用或返回 java.sql.Connection 的方法。对于像sqljet这样的嵌入式数据库,我没有JDBC连接... 在使用数据库时总是有连接。当您使用 SQLJet 时,您使用的是低级 API 连接到 SQLLite,并且数据库不是 SQLJet 而是 SQLLite。如果您正在寻找 SQLLite 的 JDBC 连接器,我相信您能找到一个以上是关于Java中是不是有框架来设置持久层?的主要内容,如果未能解决你的问题,请参考以下文章