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

我使用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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值