1. O que é engenharia reversa mybatis
Ao usar o MYBATIS, os programadores precisam escrever declarações SQL por si mesmas. O número de instruções SQL para tabelas únicas é muito grande. O funcionário do Mybatis fornece uma ferramenta para gerar o código de execução do MYBATIS com base nas tabelas de banco de dados. Esta ferramenta é uma engenharia reversa.
Engenharia reversa: gerar código (mapper.xml, mappper.java, pojo) para tabelas de banco de dados único - ->
Mybatis-gerador-core-1.3.2.jar-pacote de núcleo de jarra necessário para a operação de engenharia reversa
2. Configure o arquivo de configuração para engenharia reversa
Arquivo de configuração geratorconfig.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration> <contexto id = "testTables" TargetRuntime = "mybatis3"> <CommentGenerator> <!-se deve remover os comentários gerados automaticamente true: sim: false: não-> <propriedade name = "suprimallcomonmments" value = "true" /> < /comentário> <!-Database Information: Classen Class, endereço de conexão, username, username,-> < /comentário> driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root" password="123"> </jdbcConnection> <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" ConnectionUrl = "JDBC: Oracle: Thin:@127.0.0.1: 1521: yycg" userID = "yycg" senha = "yycg"> </jdbcconnection>-> <!-padrão false, parse o jdbc decimal e tipos numéricos para o número inteiro, e quando verdadeiro, para parse o jdbc e os tipos numéricos para o número, e quando, quando verdadeiro, parse o JDBC e os tipos numéricos para o número inteiro e, quando, quando se trata, e quando, o número de tipos de decimais e tipos numéricos para o jdbc e a inadequação, e quando se trata, e quando, para parse, parse o JDBC Decimal e os tipos numéricos para o número inteiro, e quando, quando se trata, para parse o JDBC e os tipos numéricos para o número. java.math.bigdecimal-> <navatypeResolver> <propriedade name = "forcebigDecimals" value = "false"/> </javatypeResolver> <!-TargetProject: o local onde a classe PO é gerada-> <JavamodelGenerator TargetPackage = "Cn.Z.M.M.M.MyMyMyMyMyMyP" <!-EnablesUbpackages: onde permitir que o esquema seja usado como o sufixo do pacote-> <propriedade name = "enablesubpackages" value = "false" /> <!-espaço antes e depois que o valor retornado do banco de dados é limpo-> <nome da propriedade "" TRIMSTRINGS "=" " /> < /javamodElGenerator> <! <SQLMAPGenerator TargetPackage = "CN.ZM.MYBATIS.MAPPER" TargetProject = "./ Src"> <!-EnablesubPackages: se deve usar o esquema como o sufixo do pacote-> <nome da propriedade = "EnablesubPackages" Value = "False"/> </sqlmapner " <javaclientGenerator type = "xmlmapper" TargetPackage = "cn.zm.mybatis.mapper" TargetProject = "./ src"> <!-Enablesubpackages: se deve usar o esquema como o sufixo do pacote-> <nome do nome = "enloulingPackages") <tabela tablename = "itens"> </tabela> <!-<tabela tablename = "ordens"> </tabela> <tabela tablename = "orderDetail"> </ table> <tabela tablename = "user"> </ tabela>-> <!-<tabela schema = "tablename =" sys_user "> </tabela> <! <table schema="" tableName="sys_user_role"></table> <table schema="" tableName="sys_role_permission"></table> --> <!-- Some table fields require java type<table schema="" tableName=""> <columnOverride column="" javaType="" /> </table> --> </context> </eratoratorConfiguration>
3. Execute a engenharia reversa para gerar código
Execute o método da classe Java:
O código gerado é o seguinte:
4. Copie o código gerado para o projeto do sistema de negócios para teste
classe pública ItensMapperTest {private ApplicationContext ApplicationContext; itens itens privados itens; @Before public void setup () lança Exceção {ApplicationContext = new ClassPathXMLApplicationContext ("ClassPath: ApplicationContext.xml"); itensMapper = (ItensMapper) ApplicationContext.getBean ("ItensMapper"); } // Exclua a chave primária raiz @test public void DeleteByPrimaryKey () {ItensMapper.DeleteByPrimaryKey (4); } @Test public void insert () {} @test public void selectByExample () {itemSexample ItemSexample = new ItemSexample (); ItemSexample.Criteria Critérios = ItemSexample.CreateCriteria (); // Use os critérios para personalizar os critérios de condições de consulta. critérios.Andidequalto (1); List <Itens> list = itensMapper.SelectByExample (itemSexample); System.out.println (list); } @Test public void selectByPrimaryKey () {Itens itens = itensMapper.SelectByPrimaryKey (1); System.out.println (itens); } @Test public void updateByPrimaryKey () {}}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.