使用Mybatis逆代码生成器,生成实体,mapper.xml,dao层接口
POM.xml引入工具依赖
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<dependencies>
<!--连接数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<!--允许移动生成的文件-->
<verbose>true</verbose>
<!--允许自动覆盖的文件-->
<overwrite>true</overwrite>
<configurationFile>./generatorConfig.xml</configurationFile>
<!-- <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>-->
</configuration>
</plugin>
</plugins>
</build>
在项目根目录下, 新建generatorConfig.xml
<!DOCTYPE generatorConfiguration PUBLIC
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--如果需要使用 command的方式生成需要配置数据库驱动的jar包路径
<classPathEntry location="指定数据驱动的磁盘路径"/>-->
<!--context 生成上下文 配置生成规则
id 随意写
targetRuntime 生成策略
MyBatis3DynamicSql 默认的,会生成 动态生成sql的方式(没有xml)
MyBatis3 生成通用的查询,可以指定动态where条件
MyBatis3Simple 只生成简单的CRUD
-->
<context id="simple" targetRuntime="MyBatis3Simple">
<commentGenerator>
<!--设置是否生成注释 true 不生成 注意: 如果不生成注释,下次生成代码就不会进行合并-->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据源 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/information_schema?useSSL=false"
userId="root"
password="root"/>
<!-- java类型生成方式 -->
<javaTypeResolver>
<!-- forceBigDecimals
true 当数据库类型为decimal 或number 生成对应的java的BigDecimal
false 会根据可数据的数值长度生成不同的对应java类型
useJSR310Types
false 所有数据库的日期类型都会生成java的 Date类型
true 会将数据库的日期类型生成对应的JSR310的日期类型
比如 mysql的数据库类型是date===>LocalDate
必须jdk是1.8以上
-->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--pojo
javaModelGenerator java实体生成规则(POJO)
targetPackage 生成到哪个包下
targetProject 生成到当前文件的哪个相对路径下
-->
<javaModelGenerator targetPackage="com.vidor.entity" targetProject="src/main/java"/>
<!--mapper xml映射文件
sqlMapGenerator mapper xml映射文件生成规则
targetPackage 生成到哪个包下
targetProject 生成到当前文件的哪个相对路径下
-->
<sqlMapGenerator targetPackage="com.vidor.mapper" targetProject="src/main/resources"></sqlMapGenerator>
<!--mapper接口
javaClientGenerator mapper mapper接口生成规则
type 指定生成的方式
1.使用注解的方式生成
2.使用接口绑定的方式生成(要配置sqlMapGenerator)
targetPackage 生成到哪个包下
targetProject 生成到当前文件的哪个相对路径下-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.vidor.dao" targetProject="src/main/java"/>
<!--配置哪些表需要进行代码生成
tableName 表名
domainObjectName pojo类名
mapperName 对应mapper接口的类名 和 mapper xml文件名
-->
<table tableName="USER_PRIVILEGES" domainObjectName="UserPrivileges"/>
</context>
</generatorConfiguration>
IDEA运行
错误
- org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate: java.lang.NoSuchMethodError: org.mybatis.generator.internal.util.ClassloaderUtility.getCustomClassloader(Ljava/util/Collection;)Ljava/lang/ClassLoader;
》》依赖引入不对
用 maven 插件逆向工程,必须要在依赖引入的插件中指定插件的相关信息