MyBatis Generator 代码生成器的使用

MyBatis Generator

        MyBatis Generator(MBG)是MyBatis 和iBATIS的代码生成器。它可以帮助我们根据数据库中表的设计生成对应的实体类,Mapper xml 文件,接口以及帮助类(也就是我们可以借助该类来进行简单的CRUD操作,适用于单表查询),这样就避免了我们每使用到一张表的数据就需要手动去创建对应的类和xml文件,这就帮我们节约了大量的时间去开发和业务逻辑有关的功能,但是如果对联合查询和存储过程您仍然需要手写SQL和对象代码。

在Eclipse中使用MyBatis Generator 

  1. 在Eclipse 市场中搜索安装MyBatis Generator插件。(Help --- Eclipse Marketplace...)



    等待安装完成后,重启Eclipse。

    注:MyBatis Generator 1.3.7 需要Java 8 及以上

  2. 创建MyBatis Generator配置文件,如下图



    默认的名称为 generatorConfig.xml
     
  3. 填写相关配置信息
           主要包括以下几方面:
           · jdbcConnection信息指定如何连接到目标数据库
           · 目标包位置和javaModelGenerator的目标项目
           · 目标包位置和sqlMapGenerator的目标项目
           · 至少一个数据库表
    <?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="testTables" targetRuntime="MyBatis3">
    		<commentGenerator>
    			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
    			<property name="suppressAllComments" value="true" />
    		</commentGenerator>
    		<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
    		<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root" password="123456">
    		</jdbcConnection>
    		<!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" userId="yycg" password="yycg"> </jdbcConnection> -->
    
    		<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal -->
    		<javaTypeResolver>
    			<property name="forceBigDecimals" value="false" />
    		</javaTypeResolver>
    
    		<!-- targetProject:生成PO类的位置 -->
    		<javaModelGenerator targetPackage="com.itheima.springmvc.pojo" targetProject="springmvc-mybatis\src\main\java">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    			<!-- 从数据库返回的值被清理前后的空格 -->
    			<property name="trimStrings" value="true" />
    		</javaModelGenerator>
    		<!-- targetProject:mapper映射文件生成的位置 -->
    		<sqlMapGenerator targetPackage="com.itheima.springmvc.mapper" targetProject="springmvc-mybatis\src\main\java">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    		</sqlMapGenerator>
    		<!-- targetPackage:mapper接口生成的位置 -->
    		<javaClientGenerator type="XMLMAPPER" targetPackage="com.itheima.springmvc.mapper" targetProject="springmvc-mybatis\src\main\java">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    		</javaClientGenerator>
    		<!-- 指定数据库表 -->
    		<table schema="" tableName="user"></table>
    		<table schema="" tableName="item"></table>
    
    		<!-- 有些表的字段需要指定java类型 <table schema="" tableName=""> <columnOverride column="" javaType="" /> </table> -->
    	</context>
    </generatorConfiguration>

    targetProject 一般为项目名称 + 目标包位置所在的根目录位置,如用Maven搭建的文件
    targetProject="springmvc-mybatis\src\main\java"
    targetPackage
    目标包的包路径

  4. 运行generatorConfig.xml。在该文件右键选择Run As> Run MyBatis Generator, 等待运行结果。
    运行结果:

    查看项目文件目录

    一张表会生成4个文件。MyBatis Generator能够根据配置生成不同类型的代码,代码包含了数据库表对应的实体类、mapper接口类、mapperXML文件和Example对象等。这些代码中几乎包含了全部的表单操作方法,可以极大程度上方便我们使用MyBatis。
    注:eclipse中的MyBatis Generator不会覆盖您对其生成的对象所做的任何自定义更改。您可以反复运行它,而不必担心丢失自定义更改。(但是,反复运行生成的代码会重复而报错)

参考:http://www.mybatis.org/generator/running/runningWithEclipse.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值