欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

程序员文章站 2024-02-16 22:05:10
idea maven mybatis generator 自动生成代码的实例讲解 一、安装配置maven以及在idea中配置maven 安装过程步骤可以看上面的博文,里...

idea maven mybatis generator 自动生成代码的实例讲解

一、安装配置maven以及在idea中配置maven

安装过程步骤可以看上面的博文,里面介绍得很详细。

二、建数据表

drop table if exists `t_user`;
create table `t_user` (
 `id` varchar(100) not null,
 `username` varchar(20) default null,
 `password` varchar(20) default null,
 `headerpic` varchar(60) default null,
 `email` varchar(60) default null,
 `sex` varchar(2) default null,
 `create_time` datetime default null,
 `update_time` timestamp not null default current_timestamp on update current_timestamp,
 `is_delete` int(1) default null,
 `address` varchar(200) default null,
 `telephone` varchar(15) default null,
 primary key (`id`)
) engine=innodb default charset=utf8;

三、idea创建maven项目

1、点击create new project-》maven-》create from archetype->maven-archetype-webapp,然点击next,步骤如图:

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

2、填写groupid和artifactid:(这两个参数值都是自己定义的),下面这段文字,是网上抄来的,以便大家更好地了解这两个参数。

groupid和artifactid被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。

一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupid是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactid是tomcat。

比如我创建一个项目,我一般会将groupid设置为cn.laok,cn表示域为中国,laok是我个人姓名缩写,artifactid设置为testproj,表示你这个项目的名称是testproj,依照这个设置,你的包结构最好是cn.laok.testproj打头的,如果有个userdao,它的全路径就是cn.laok.testproj.dao.userdao

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

3、点击next,配置maven信息,如图:

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

4、点击next,填写项目名称,如图:

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

5、创建完成后,项目的结构如图,在生成代码之前,不需要创建其他文件夹,但是需要把resources文件夹设置成resources root(右键点击resources文件夹-》mark directory as->resources root)

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

四、配置pom.xml和generatorconfig.xml

1、在pom.xml中加入以下配置:

<build>
 <finalname>create-code</finalname>
 <plugins>
 <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>
</build>

2、在resources源文件夹下面创建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:/java/lib/mysql-connector-java-5.1.43-bin.jar" />
 <context id="test" targetruntime="mybatis3">
  <plugin type="org.mybatis.generator.plugins.equalshashcodeplugin"></plugin>
  <plugin type="org.mybatis.generator.plugins.serializableplugin"></plugin>
  <plugin type="org.mybatis.generator.plugins.tostringplugin"></plugin>
  <commentgenerator>
   <!-- 这个元素用来去除指定生成的注释中是否包含生成的日期 false:表示保护 -->
   <!-- 如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为true -->
   <property name="suppressdate" value="true" />
   <!-- 是否去除自动生成的注释 true:是 : false:否 -->
   <property name="suppressallcomments" value="false" />
  </commentgenerator>
  <!--数据库链接url,用户名、密码 -->
  <jdbcconnection driverclass="com.mysql.jdbc.driver"
      connectionurl="jdbc:mysql://localhost:3306/article" userid="root" password="">
  </jdbcconnection>
  <javatyperesolver>
   <!-- this property is used to specify whether mybatis generator should
    force the use of java.math.bigdecimal for decimal and numeric fields, -->
   <property name="forcebigdecimals" value="false" />
  </javatyperesolver>
  <!-- 生成模型的包名和位置 文件夹自己定义-->
  <javamodelgenerator targetpackage="com.test.model"
       targetproject="target">
   <property name="enablesubpackages" value="true" />
   <property name="trimstrings" value="true" />
  </javamodelgenerator>
  <!-- 生成映射文件的包名和位置 文件夹自己定义-->
  <sqlmapgenerator targetpackage="com.test.mapping"
       targetproject="target">
   <property name="enablesubpackages" value="true" />
  </sqlmapgenerator>
  <!-- 生成dao的包名和位置 文件夹自己定义-->
  <javaclientgenerator type="xmlmapper"
        targetpackage="com.test.dao" implementationpackage="com.test.dao.impl" targetproject="target">
   <property name="enablesubpackages" value="true" />
  </javaclientgenerator>
 
  <!-- 要生成哪些表 -->
  <table tablename="t_user" domainobjectname="user"
    enablecountbyexample="false" enableupdatebyexample="false"
    enabledeletebyexample="false" enableselectbyexample="false"
    selectbyexamplequeryid="false"></table>
 </context>
</generatorconfiguration>

3、配置完成后,一定要点击build->rebuild project,生成target文件夹,不然生产代码的时候是生产在target文件下下面,没有这个文件夹会报错,当然也可以配置生成在其他文件夹下面。项目结构如图:

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

特别注意的一点:一定要在配置文件中加入本地的mysql-connector-java-5.1.43-bin.jar,

下载地址

然后解压到本地,我的配置如下:<classpathentry location="d:/java/lib/mysql-connector-java-5.1.43-bin.jar" />

这个需要大家根据自己存放的路径配置。

五、执行生成代码

1、点击run->edit configurations,如图:

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

2、之后弹出运行配置框,为当前配置配置一个名称,这里其名为"generator",然后在 “command line” 选项中输入“mybatis-generator:generate -e”
这里加了“-e ”选项是为了让该插件输出详细信息,这样可以帮助我们定位问题。

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

3、配置完成后,点击run-》run generator,不出意外的话,在控制台中会出现build success的info信息。完整的效果如图所示:

IDEA Maven Mybatis generator 自动生成代码(实例讲解)

有写得不对的地方,烦请各位大佬指正,非常感谢。

以上这篇idea maven mybatis generator 自动生成代码(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。