我将mybatis-spring
1.2.3和Spring4一起使用来创建Web应用程序。主要数据存储是生产环境中的MySQL,但我还在单元测试中使用内存数据库H2。
MyBatis在测试和生产中都可以与MySQL和H2一起很好地工作,但是我遇到一个问题,有一天我需要force
index(idx1)在对MySQL的查询中使用,由于H2不支持,这将导致单元测试中的语法错误force index。结果,单元测试被完全破坏了。
我想知道MyBatis有什么办法可以处理这种情况?(数据库的类型在测试和生产中有所不同,并且它们对SQL语法的支持也不相同。)
这是我的映射器文件:
/p>
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select
*
from game_user
force index(idx1)
where
game_id in
#{gameId}
(null)
and uid in
#{mid}
(null)
and `date` = #{date}