MBConversor MyBatis
O MyBatis é o framework de mapeamento SQL mais utilizado no ecossistema Java. As consultas MyBatis contêm vinculações de parâmetros como #{param} e ${param}, além de tags dinâmicas como <if>, <where> e <choose>, dificultando a execução direta em um cliente de banco de dados. Esta ferramenta avalia tags dinâmicas com base em valores de parâmetros para produzir SQL executável e também pode gerar modelos de mapeador XML MyBatis a partir de SQL simples.
Como usar
- 1Selecionar Guia
Use 'MyBatis → SQL' para avaliar tags dinâmicas e substituir parâmetros por valores reais. Use 'SQL → MyBatis XML' para converter SQL simples para o formato de mapeador XML MyBatis.
- 2Inserir Consulta
Cole sua consulta MyBatis/iBatis ou SQL simples na área de entrada. #{param} é detectado automaticamente como MyBatis 3 e #param# como iBatis 2.
- 3Definir Parâmetros (MyBatis → SQL)
Configure o tipo (string/número) e o valor para cada parâmetro detectado. As condições das tags dinâmicas são avaliadas automaticamente — blocos cuja condição não é atendida são removidos da saída.
- 4Revisar e Copiar
Revise o SQL ou XML MyBatis convertido e copie-o para sua área de transferência.
Dicas
- 💡Tags dinâmicas MyBatis 3 suportadas: <if test="x != null">, <where>, <set>, <choose>/<when>/<otherwise>, <trim>, <foreach>.
- 💡Tags dinâmicas iBatis 2 suportadas: <isNotEmpty>, <isEmpty>, <isNotNull>, <isNull>, <isEqual>, <isGreaterThan>, etc., e <dynamic prepend="WHERE">.
- 💡Preencher um valor de parâmetro inclui seu bloco de condição; deixá-lo vazio remove o bloco. Wrappers <![CDATA[...]]> também são removidos automaticamente.
- 💡#{param} usa vinculação PreparedStatement (valores são citados). ${param} é substituição de string (inserido como está).
- 💡Todo o processamento acontece no seu navegador, então consultas sensíveis nunca são enviadas para um servidor.
Perguntas frequentes
- Q. Por que preciso converter os parâmetros de logs do MyBatis?
- A. O MyBatis registra SQL com marcadores ? e os valores dos parâmetros separadamente. Esta ferramenta substitui os ? pelos valores reais, gerando SQL executável.
- Q. Quais tipos de parâmetro são suportados?
- A. String, número, Boolean, null e Date. Strings recebem aspas automaticamente; null é convertido para NULL do SQL.
- Q. Por que o MyBatis usa Prepared Statements?
- A. Previne SQL injection e melhora o desempenho ao cachear o plano de execução da query. A sintaxe #{} do MyBatis usa Prepared Statements.