一.问题描述
在写导入脚本校验的时候,连接应用已经有的数据库。使用mybitis或者hibernate这样的ORM框架操作数据库的时候,需要建立POJO与数据库中表做映射,才能直接用JAVA方法操作数据库。之前都只是读过mybitisGenertor相关的资料,一直都没有实践。趁着这次工作机会,尝试使用mybitisGenerator。
二.应用
pom.xml
<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
generatorConfig.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>
<classPathEntry location="D:\maven_repo\mysql\mysql-connector-java\8.0.13\mysql-connector-java-8.0.13.jar"/>
<context id="context1">
<!-- 是否生成注释 -->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test2?characterEncoding=utf8&useSSL=true&createDatabaseIfNotExist=true&autoReconnect=true"
userId="root" password="root" />
<!-- 生成的包名和工程名 -->
<javaModelGenerator targetPackage="com.levenx.entity"
targetProject="src/main/java"/>
<sqlMapGenerator targetPackage="com.levenx.mapping"
targetProject="src/main/java" />
<javaClientGenerator targetPackage="com.levenx.dao"
targetProject="src/main/java" type="XMLMAPPER" />
<!-- 数据库表 -->
<table tableName="boss" domainObjectName="User">
<!-- 设置别名 -->
<columnOverride column="zh_name" property="zhName" />
<columnOverride column="user_id" property="userId" />
</table>
</context>
</generatorConfiguration>
mybitisGenerator插件的触发方式
1.maven projects 手动点击触发
2.JAVA代码触发
public static void main(String[] args) throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("D:\\java\\mybitits\\src\\main\\resources\\generatorConfig.xml");//mbg.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);
}
触发之前文件结构:
数据库字段:
插件触发使用,项目结构:
红框中的文件是插件自动生成,mybitis基本操作结构。
此后开始生产脚本^_^..