Por que eu preciso de mybatis
O Mybatis é uma estrutura Java ORM, e o ORM surgiu para simplificar o desenvolvimento. O método de desenvolvimento inicial era que a lógica de negócios e a lógica da consulta de banco de dados foram separadas, escrevendo instruções SQL em um programa ou chamando os procedimentos armazenados do SQL. Isso leva à necessidade de alternar entre a lógica do idioma e a lógica SQL, resultando em desenvolvimento ineficiente. Portanto, surgiu uma série de estruturas ORM. A estrutura ORM corresponde a tabelas de banco de dados e objetos Java. Ao operar o banco de dados, você só precisa operar os objetos Java do objeto, como definir várias e condições e definir apenas alguns atributos.
Por que eu preciso do gerador Mybatis
Embora exista a estrutura Mybatis, o aprendizado de Mybatis também requer custos de aprendizagem, especialmente a configuração dos arquivos XML necessários, o que é bastante pesado, e os erros ocorrem na configuração, o que não é fácil de localizar. Quando há erros inexplicáveis ou grandes quantidades de objetos que precisam ser gerados, muitas vezes há um sentimento de relutante em viver e vagando na mente. Portanto, o gerador Mybatis surgiu.
Requer apenas uma configuração simples para concluir a geração de grandes quantidades de tabelas para os objetos Mybatis java. Não é apenas rápido, mas também não tem erros, permitindo que os desenvolvedores se concentrem verdadeiramente no desenvolvimento da lógica de negócios.
A função oficial do gerador Mybatis é relativamente simples e não foi implementada para funções de paginação ligeiramente complexas, funções de inserção de lote etc. que são inevitavelmente usadas no desenvolvimento, mas possui funções de plug-in maduras suportadas.
Coloquei a ferramenta de geração Mybatis que normalmente usamos no GitHub, que tem funções integradas de paginação, inserção em lote e serialização. Você pode verificar aqui e já introduziu como usá -lo.
Estrutura do arquivo do gerador mybatis
O arquivo gerado contém três categorias:
1. Arquivo de entidade do modelo, uma tabela de banco de dados gera uma entidade modelo;
2.Modelexample File, este arquivo e arquivo de entidade estão no mesmo diretório e são usados principalmente para consultar a construção condicional;
3.MAPPER Interface Arquivo e métodos de operação de dados são definidos nesta interface;
4.Mapper XML Configuração Arquivo;
Configure o caminho de geração de arquivos no arquivo de configuração e defina o nome do pacote correspondente para gerar a estrutura e os arquivos do diretório correspondentes. Defino o diretório gerado para o diretório de teste, o nome do pacote da entidade é com.fengzheng.dao.entity, o nome do pacote de interface é com.fengzheng.dao.mapper e, em seguida, a estrutura de diretório de arquivos gerada é mostrada na figura abaixo:
Como escrever código
Todas as chamadas de método vêm do arquivo de interface gerado. No MVC da primavera, é necessário declará -lo no chamador. Usando uma interface da lista negra como exemplo, o arquivo de interface gerado é o BlackListipMapper, então o chamador precisa declarar essa interface, como segue:
@AutowiredPrivate BlackListipMapper BlackListipMapper;
Consulta de banco de dados
A consulta é a função mais usada. O método a seguir é consultar registros cujo IP é um determinado valor. Se você conhece a chave primária, pode usar o método SelectByPrimaryKey.
public BlackListip get (string ip) {BlackListiPexample Exemplo = new BlackListiPexample (); exemplo.createcriteria (). Andipequalto (ip); list <lorlListip> BlackListiplist = BlackListMapper.SelectBySample (exemplo); if (BlackListiplist! BlackListiplist.get (0);} retornar nulo;} O método de chamar o método é semelhante. Para detalhes, consulte a introdução dos documentos relevantes.
Organizar
public BlackListip get (string ip) {BlackListiPexample exemplo = new BlackListiPexample (); exemplo.setOrderByCláuse ("create_time desct"); // classificar por criação Exemplo de tempo.createcriteria (). Andipequalto (ip); list <lorlListip> BlackListiplist = BlackListmapper.SelectByExample (Exemplo); if (BlackListiplist!Paginação
Lista pública PageInfo (conta da conta, PageInfo PageInfo, String StartTime, String EndTime) {Account.Setisdel (sysparamDetailConstant.is_del_false); conta de exemplo = getCondition (conta, starttime, endtime); se (null! {exemplo.setlimitclausestart (PageInfo.getPagestart ()); exemplo.setlimitclaUseCount (PageInfo.getPageCount ());} exemplo.setOrderByCláuse ("Create_time DescRi. AccountMapper.CountByExample (Exemplo); PageInfo.SetList (List); PageInfo.SetTotalCount (TotalCount); retorna PageInfo;} Implementar condições de consulta como a = x e (b = xx ou b = xxx)
Embora seja conveniente gerar código automaticamente, tudo tem suas vantagens e desvantagens. O gerador Mybatis não tem como gerar a função de junção da tabela, para que só possa ser adicionada manualmente. O splicing condicional como a = x e (b = xx ou b = xxx) é implementado da seguinte maneira.
AccountExample AccountExample = new AccountExample (); AccountExample.Criteria Criteria = AccountExample.createcriteria (). Andtypeequalto ("4"); critério.addcritrioion (String.Format ("(ID =%d ou id =%d)", 34,35); list <lumat (">ss =%d ou id =%d)", 34,35); No entanto, você precisa modificar um pequeno código, modificar a 524ª linha do Exemplogenerator no org.mybatis.generator.codegen.mybatis3.model, altere o método.setVisability (javavisability.protected); para Method.setVisability (javavisability.public);
As mudanças foram sincronizadas com o GitHub.
O exposto acima é o código e o uso do gerador Mybatis apresentado a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!