Как использовать прямой запрос, используя mybatis? - PullRequest
0 голосов
/ 05 февраля 2020

Я хочу использовать этот запрос 'ANALYZE TABLE {tableName}', но я думаю, что mybatis поддерживает только CRUD. как использовать 'ANALYZE TABLE' при mybatis?

1 Ответ

1 голос
/ 07 февраля 2020

Просто объявите его как обычный выбор и укажите Map в качестве типа возврата.

@Select("analyze table ${tableName}")
Map<String, Object> analyzeTable(String tableName);
@Test
public void testAnalyzeTable() {
  try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
    Mapper mapper = sqlSession.getMapper(Mapper.class);
    Map<String, Object> result = mapper.analyzeTable("users");
    assertEquals("test.users", result.get("Table"));
    assertEquals("analyze", result.get("Op"));
    assertEquals("status", result.get("Msg_type"));
    assertEquals("OK", result.get("Msg_text"));
  }
}

Протестировано с использованием ...

  • MariaDB 10.4.10
  • Разъем MariaDB / J 2.5.4
...