sqlh和mysql的区别_HSQL和MySQL的区别

待我称王封你为后i 2022-10-25 11:22 248阅读 0赞

我使用MySQL作为我的应用程序数据库,但HSQL作为测试内存数据库。现在的问题是,我有一个SQL selectQuery象下面这样:HSQL和MySQL的区别

SELECT date(a.created_at) as record_date

FROM table a

现在,日期()是日期时间转换为日期在MySQL中的功能,但在HSQL同样的功能是TO_DATE()。现在,我有一个方法将上面的查询输出到数据库并获得输出。

public Response dbQueryThroughJdbcTemplate(String selectQuery){

jdbcTemplate.query(selectQuery, RowMapper); //RowMapper maps output to Response

}

现在,我有这种测试方法的测试方法,

@Test

public void testDbQueryThroughJdbcTemplate(){

Response response = dbQueryThroughJdbcTemplate(selectQuery);

TestCase.assertEquals(expected, response); // avoided the code for making expected object

}

现在,作为测试环境使用HSQL DB,测试抛出一个错误日期方法不可用。

如何解决这个问题,或者有什么更好的方法来实现这个目标?

+0

什么测试支持的方法吗? HSQL的作品,你不需要测试。测试您获得的独立于所用查询机制的正确结果。如果问题是你需要完全改变查询:你不应该那样做。要么使用MySQL,要么模拟数据库调用。 –

+0

@Gimby,更新了问题以使其更清晰 –

+0

正如我所说的,您正在测试错误的东西。 MySQL的日期函数和HSQL的日期函数可以工作,你不需要测试它。你应该测试的是你的应用程序如何响应查询的结果,并且允许你通过嘲笑它使数据库脱离测试。 –

发表评论

表情:
评论列表 (有 0 条评论,248人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MysqlOracle区别

    1、本质区别 大家最熟悉的,最根本的区别就是mysql是开源免费的,oracle是付费的 2、数据库和表名 mysql中数据库名和表名不区分大小写,oracle中区

    相关 mysqlredis区别

    mysql和redis的数据库类型 mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。 redis是NOSQL,即非关系型数据库,也

    相关 OracleMysql区别

    一、并发性 oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。所以oracle对并发性的支持要好很多