1. O que é mybatis dinâmico sql
Quando vemos a dinâmica, devemos pensar que esta é uma declaração SQL que pode ser alterada.
O SQL dinâmico da Mybatis é baseado nas expressões OGNL, o que pode nos ajudar a implementar facilmente certas lógicas nas instruções SQL.
2. Preparação antes de usar o mybatis dinâmico sql
um. Tabela de banco de dados
b. Criar uma classe
3. Usando o SQL dinâmico mybatis, você deve primeiro conhecer alguns valores de atributo
1. Insira
SelectKey: Declaração SQL executada antes ou depois da instrução SQL
keycolumn: nome de campo correspondente ou alias
KeyProperty: o nome do atributo ou o valor da chave do mapa correspondente à classe de entidade
Ordem: execute antes ou depois da declaração de execução
ResultType: o tipo de resultado de retorno
O primeiro método: a inserção dinâmica SQL mais fácil
Insira nos valores do curso (seq_course.nextval,#{coursecode},#{CourseName}) selecione max (id) currid no cursoteste
Resultados do teste
A segunda maneira: se eu não quero inserir tantos campos e não quero inserir o campo de nome do curso, então a primeira maneira definitivamente não é possível.
Insira no curso (ID, CourSecode, CourseName) valores (seq_course.nextval,#{coursecode},#{CourseName})Testes e resultados
A partir disso, podemos ver que esse método pode ser alcançado quando eu não quero inserir o campo de codificação.
Agora o título está aqui novamente. O que acontece se queremos transformar o último campo em vazio, ou ambos os campos em vazios
O último campo fica vazio
Parece haver uma vírgula por trás do primeiro ponto de interrogação no console
Experimente os dois campos ficando vazios
Ainda há uma vírgula
O motivo da situação acima é que, quando não queremos inserir o campo, não removemos a vírgula. Agora apresentamos o terceiro método.
A terceira maneira é remover o excesso de vírgulas
Este método precisa introduzir acabamento
Trim também tem várias propriedades
Prefixo: adicione prefixo
PrefixOverrides: substituir o prefixo
Sufixo: Adicione o sufixo
Sufixosoverrides: Substitua o sufixo
ID, CourSecode, Coursenameseq_course.nextval,#{CourSecode},#{CourseName}Olha, o problema foi resolvido
Ao trabalhar em projetos, geralmente inserimos dados no banco de dados. Às vezes, queremos inserir várias peças ao mesmo tempo. Então, como devemos inserir várias peças de dados usando o mybatis?
Aqui, precisamos resolver vários problemas
1. Como copiamos a estrutura da tabela
Crie o curso da tabela 02 como selecione * do curso
Esta afirmação é muito familiar? Sim, a tabela do curso02 não apenas copia a estrutura da tabela da tabela do curso, mas também copia o conteúdo da tabela do curso.
2. Como copiamos apenas a estrutura da tabela do curso em vez do conteúdo da tabela do curso
Criar tabela Curso03 como selecione * do curso onde 1! = 1;
3. Então, ao inserir, é o mesmo que este?
insira no curso03 selecione * do curso;
A resposta é a mesma
4. Como inserir várias declarações
Insira no curso03Select '6', 'yc06', 'Data Structure 06' da dupla união selecionada '7', 'yc07', 'estrutura de dados 07' da união dupla '8', 'yc08', 'estrutura de dados 08' da união dupla '8', 'yc08', 'estrutura de dados' '
Agora que a instrução SQL está disponível, podemos inseri -la no arquivo de configuração
Insira no CourSeselect#{Courses.id},#{Courses.CourSecode},#{Courses.CourSename} do dual2. Modificar
1. Use acabamento. Como mencionado anteriormente, você pode usar o Trim para desfixar por causa do sufixo do atributo
Atualizar curso setCourSecode =#{CourSecode}, CourseName =#{CourseName} onde id =#{id}2. Use o conjunto, que pode substituir o conjunto na instrução e também remova o sufixo.
Update CourSecourSecode =#{CourSecode}, CourseName =#{CourseName} onde id =#{id}3. Ao modificar, também faremos alterações seletivas. Às vezes, não queremos modificar o valor para torná -lo consistente com o valor sem modificação.
Escolher é equivalente a múltiplo se
O primeiro é equivalente a se, e o segundo é equivalente a mais
Caso contrário, é igual a mais
Atualizar CourSecourSecode =#{CourSecode}, CourSecode = CourSecode, CourseName =#{CourseName}, CourseName = CourseName, onde id =#{id}O exposto acima é o conteúdo inteiro do Mybatis Dynamic SQL apresentado a você. Espero que seja útil para todos!