H2与mysql的语法差异参考我的另一篇文章:
H2语法
实践中还会遇到mysql的存储过程需要模拟的情况,可用H2的ALIAS来实现。
具体做法是:
- 准备java静态方法,在其中实现存储过程相关逻辑(例如获取DB连接,执行SQL语句)
- 在H2 DB连接里执行create alias ${sp_name} for "${java_full_classname}.${method_name}"语句,注册java静态方法到H2,使其成为H2的DB函数
- SQL脚本里使用call ${sp_name}(${params})调用注册好的DB函数。