骆驼-使用MYBATIS组件时,如何使用java dsl在骆驼路线中记录选择查询?

时间:2020-04-28 05:09:38

标签: apache-camel mybatis

我想在调用数据库之前记录选择查询,以提高日志的可读性以供参考。我正在使用mybatis组件。我想知道,是否有任何内置的骆驼标头或mybatis组件标头可用于记录查询。

**CAMEL ROUTE**
from("timer://pollTheDatabase?delay=50s")
.routeId("db-pooling-route")
.to("mybatis:queryToSelectData?statementType=SelectOne");

**MAPPER**
@Mapper
public interface DBMapper{
   public void queryToSelectData();
}

**MAPPER XML**
<select id="queryToSelectData" resultMap="Result">
    SELECT * FROM ACCOUNT AND ROWNUM =1
</select>

1 个答案:

答案 0 :(得分:0)

我对mybatis组件非常了解,所以我的答案可能不准确! Camel没有提供内置选项来捕获mybatis查询。您只能选择获取语句名称。但是,您能在发送查询并检查之前记录一下正文吗?

如果正文没有查询字符串,这就是我要这样做的方式。为了获取查询字符串,您可以实现一个bean,在其中需要导入mybatis映射器文件并提取所需的信息。然后,您可以从Bean本身将其写入日志,也可以将其添加到Exchange属性。