предисловие
Так называемый обратный инжиниринг mybatis означает, что mybatis автоматически генерирует классы pojo, mapper, mapper.xml и примеры в соответствии с разработанной нами таблицей данных (для добавления условий, эквивалентных части после оператора where), мы выполняем несколько операций во время процесс разработки Таблица, достаточно хлопот, чтобы написать классы pojo один за другим. Благодаря обратному инжинирингу mybatis базовая конфигурация может быть выполнена автоматически, что экономит много работы.Конечно, автоматически сгенерированный код обычно далек от бизнеса.Я в основном использую его для создания классов pojo, и я также могу сгенерировать их все , и выбрать в соответствии с моими потребностями. Ниже приводится официальное введение в генератор MyBatis, официально предоставленное mybatis для завершения обратного проектирования.
Введение в генератор MyBatis
Генератор MyBatis (MBG) — это MyBatisMyBatisиiBATISгенератор кода. Он будет генерировать код для всех версий MyBatis, а также версий iBATIS после 2.2.0. Это упростит настройку объектов, файлов конфигурации и взаимодействие с таблицами базы данных. MBG стремится выполнять простые операции CRUD (добавление, поиск, изменение, удаление) в базе данных, но по-прежнему требует ручного ввода SQL и объектного кода для запросов на соединение или хранимых процедур.
Реализовать реверс-инжиниринг
Перед реализацией реверс-инжиниринга необходимо подготовить соответствующие jar- или maven-зависимости.
баночка пакет
maven-зависимости
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.28</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.3</version>
</dependency>
После того, как среда будет готова, начните настраивать файл конфигурации MyBatis Generator, в основном настройте подключение и путь хранения в базе данных, файл конфигурации xml был аннотирован, официальный сайтКонфигурационный файл генератора MyBatis
Конфигурационный файл генератора MyBatis
<?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>
<!--配置数据库信息 -->
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- suppressAllComments属性值: true:自动生成实体类、SQL映射文件时没有注释 true:自动生成实体类、SQL映射文件,并附有注释 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/generator"
userId="root"
password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 指定javaBean的生成位置 -->
<javaModelGenerator
targetPackage="web.data"
targetProject="./src.main.java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 指定sql映射文件生成位置 -->
<sqlMapGenerator targetPackage="web.mapper"
targetProject="./src.main.java">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 指定dao接口的生成位置,mapper接口 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="web.dao"
targetProject="./src.main.java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 指定每个表的生成策略 -->
<table tableName="cc_cfxx" domainObjectName="cfxx"></table>
</context>
</generatorConfiguration>
После того, как файл конфигурации MyBatis Generator будет готов, выполните основной метод класса реализации java для генерации соответствующего кода, официальный сайткласс реализации Java
Класс реализации Java
public static void main(String[] args) throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("mybatis-generator.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
добиться эффекта
Суммировать
В настоящее время mybatis является очень популярной структурой сохраняемого слоя. В этой структуре рабочая нагрузка по написанию файлов сопоставления очень велика, а при написании вручную легко сделать ошибки. Мы можем использовать Mybatis-Generator для автоматического создания файлов для нас, что значительно сокращает наше время разработки.