代码生成器的作用:

  1、生成domain

   2、生成mapper接口

   3、生成mapper映射文件

准备工作:导入MyBatis所需要的包

第一步:在src/main/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>
<!--mysql数据库驱动包路径-->
<classPathEntry location="D:\repository\mysql\mysql-connector-java\5.1.39\mysql-connector-java-5.1.39.jar" />
<!--
context:代码生成规则配置的上下文
id:标识
targetRuntime: MyBatis3Simple 只会生成基本的CRUD操作 -->
<context id="DB2Tables" targetRuntime="MyBatis3Simple"> <!--commentGenerator:注释生成策略-->
<commentGenerator>
<!--suppressAllComments:是否阻止注释生成-->
<property name="suppressAllComments" value="true"/>
<!--suppressDate:是否阻止时间戳生成-->
<property name="suppressDate" value="true"/>
</commentGenerator> <!--jdbcConnection:数据库的链接属性-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql:///数据库名称"
userId="用户名"
password="密码">
</jdbcConnection> <!--javaTypeResolver:java类型转换策略-->
<javaTypeResolver >
<!-- forceBigDecimals
false:如果数据库中的字段类型为numeric或者decimal,在代码生成的时候根据数据库中设定的长度自动选择java类型进行转换
true:直接使用java.math.BigDecimal类型-->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver> <!--domain生成策略;targetPackage:生成到哪个包下面,targetProject:生成到哪个项目目录下面-->
<javaModelGenerator targetPackage="cn.wang.domain" targetProject="src/main/java">
<!--<property name="enableSubPackages" value="true" />-->
<!--表示是否修剪字符串(去掉空格-->
<property name="trimStrings" value="true" />
</javaModelGenerator> <!--sqlMapGenerator:映射文件生成策略
targetPackage:生成到哪个包下面,targetProject:生成到哪个项目目录下面
-->
<sqlMapGenerator targetPackage="cn.wang.mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator> <!--mapper接口生成策略
type:ANNOTATEDMAPPER:注解的形式
XMLMAPPER:xml映射的形式-->
<javaClientGenerator type="XMLMAPPER" targetPackage="cn.wang.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator> <!--指定要生成代码的表
domainObjectName:设置表对应的domain实体类生成的名称
-->
<table tableName="t_user" domainObjectName="User"></table>
<table tableName="t_dept" domainObjectName="Dept"></table>
<table tableName="product" domainObjectName="Product"></table> </context>
</generatorConfiguration>

第二步:在Maven项目的pom.xml加入以下配置(Maven插件方式使用)

  注意:以下配置千万不要放在<pluginManagement></pluginManagement>标签里面。

 <!--mybatis_generator代码生成器专用-->
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
</plugin>
</plugins>
</build>

第三步:使用MyBatis代码生成器

  配置完毕后,就可以在Idea页面最右边的Maven Projects中看到代码生成器,右键点击代码生成器运行即可。

 拓展:使用命令运行代码生成器

  1、必须事先在src/main/resources(必须)目录下创建代码生成器配置文件(generatorConfig.xml)

  2、下载jar包:mybatis-generator-core-1.3.7.jar;并将jar包放在项目根目录下。

   3、在项目根目录中打开cms控制台,执行以下命令即可。

java -jar mybatis-generator-core-1.3.7.jar -configfile generatorConfig.xml -overwrite

MyBatis代码生成器(maven插件方式和控制台命令运行方式)的更多相关文章

  1. Maven插件方式使用Mybatis Generator

    Mybatis Generator Mybatis Generator简称MBG,可以根据数据库自动生成实体类.单表查询接口及其映射xml文件(也可以选择以注解方式生成). 下面介绍一下以maven插 ...

  2. idea + mybatis generator + maven 插件使用

    idea + mybatis generator + maven 插件使用 采用的是 generator 的 maven 插件的方式 ~ 1 pom.xml mybatis其它配置一样,下面是配置my ...

  3. Eclipse中Maven插件部分常用功能命令介绍

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6689010.html Eclipse中安装Maven插件之后,就能很方便的管理Maven项 ...

  4. mybatis generator maven插件自动生成代码

    如果你正为无聊Dao代码的编写感到苦恼,如果你正为怕一个单词拼错导致Dao操作失败而感到苦恼,那么就可以考虑一些Mybatis generator这个差价,它会帮我们自动生成代码,类似于Hiberna ...

  5. Mybatis 使用maven插件mybatis-generator自动生成entities和SQL和mapper

    第一步:在pom中添加该插件的配置,我直接把pom贴上来好了 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...

  6. (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中

    利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目  Dao   (jar)   Service (jar)   Controller (web) ...

  7. Maven之(三)Maven插件

    Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,像编译是通过maven-compile-plugin实现的.测试是通过maven-surefire-p ...

  8. 3.Maven之(三)Maven插件

    转自:https://yq.aliyun.com/ziliao/312162 Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,像编译是通过maven- ...

  9. 【mybatis源码学习】利用maven插件自动生成mybatis代码

    [一]在要生成代码的项目模块的pom.xml文件中添加maven插件 <!--mybatis代码生成器--> <plugin> <groupId>org.mybat ...

随机推荐

  1. Android中显式意图和隐式意图的区别

    1.显式意图 可以直接通过名称开启指定的目标组件: 通过构造方法Intent(Context packageContext,class<?>cls)来实现. button_1 = (But ...

  2. 普通的checkbox的回显功能

     var ypxt=document.getElementsByName("map.LCSYLB");           var jgjg='${map.LCSYLB}';    ...

  3. zabbix-3.4邮件报警

    1.开启smtp邮件传输协议 会生成一个授权码后面有用 2.卸载旧版的邮件服务 rpm -qa | grep mailx rpm -qa | grep sendmail rpm -qa | grep ...

  4. LDA算法 (主题模型算法) 学习笔记

    转载请注明出处: http://www.cnblogs.com/gufeiyang 随着互联网的发展,文本分析越来越受到重视.由于文本格式的复杂性,人们往往很难直接利用文本进行分析.因此一些将文本数值 ...

  5. X-NUCA-ezphp记录

    鸽了很久,还是记录一下 比赛的时候搞了很长时间,终于和mlt师傅搞出来了,竟然只有我们一队是预期解== <?php $files = scandir('./'); foreach($files ...

  6. CMU Database Systems - Timestamp Ordering Concurrency Control

    2PL是悲观锁,Pessimistic,这章讲乐观锁,Optimistic,单机的,非分布式的 Timestamp Ordering,以时间为序,这个是非常自然的想法,按每个transaction的时 ...

  7. vim脚本判断操作系统

    Linux 和 Windows 通用配置 其实在配置文件中是可以通过逻辑代码判断平台做条件处理的,这样就可以实现一个配置文件两个个平台下共用了,判断逻辑如下: " ============= ...

  8. 写了一个具有future接口的rust测试代码

    写了一个具有future接口的rust测试代码 但没有实现future功能,内部是直接求值 struct Future<T> { t: T, } impl<T> Future& ...

  9. flutter Switch组件 On/off 用于切换一个单一状态

    import 'package:flutter/material.dart'; class SwitchDemo extends StatefulWidget { @override _SwitchD ...

  10. Xadmin权限管理

    需求分析: 1.判断用户是否登陆,未登陆就不能进入其他页面2.为用户分配不同的权限,用户的操作只能在权限范围之内3.将用户可操作的权限显示在页面山,点击能进入该页面操作 模型表的建立 1.对每个用户建 ...