# XDataBase **Repository Path**: woate/XDataBase ## Basic Information - **Project Name**: XDataBase - **Description**: XDataBase=XDB,一个简单的用于开发的TDD数据库 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2015-07-07 - **Last Updated**: 2023-10-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README XDataBase(简称为XDB),一个为TDD而生的JDBC数据库。将数据存储于KV中,以便进行JUnit的重复测试。可通过简单的加载DML,DDL,实现一个支持事务,ACID特性,支持Oracle,MySQL内置函数,Function,存储过程,序列,同义词,触发器等的简单数据库。同时也提供将KV持久化为File。 XDB诞生的愿景是因为TDD,在TDD中有大量的单元测试需要运行,但是如果要访问数据库的话,就必须使用事务回滚来解决对数据库持久化的影响。这还不是诞生XDB的最主要原因,最主要原因是来自于基础数据的潜变。当你写好了一个测试案例,但是他依赖于一个用户信息,这个用户信息是被之前初始化进数据库的,当时测试确实能够通过测试用例,但是过一阵子,因为其他原因(其他人或者其他功能没有回滚)导致基础数据被删除或者改变,这样就导致以前能通过的测试用例无法再次运行通过。基于以上原因我们考虑是否应该有一个数据库的底层存储是被TDD的用户操作的呢?为了降低难度,我们是否可以考虑使用KV来存储呢?是否可以存在以下这样的一个测试案例呢?