美文网首页开发
STS 4 mybatis generatorConfig.xm

STS 4 mybatis generatorConfig.xm

作者: MrBan | 来源:发表于2018-10-05 01:17 被阅读0次

    前言

    写这篇文章我基本把网上能找到的关于generatorConfig.xml的文章全看了一遍,用一句话来概括,就是你看得想砸电脑。没有一篇文章把这个东西解读得能让人看得懂。。。。当然,对于初学者,我敢说,最好的文章除了这篇没有别的了,我是浪费了太多时间在这个东西上,所以我希望写出来能让人看明白,不用去到处翻英文文档。

    好了,废话不多说。这里有一份 generatorConfig.xml 文件作为学习的对象。

    首先我们先来问一个问题,generatorCofig.xml这个文件是如何产生的,需要自己手动创建么?答案是在sts4里面,你不需要手动创建,你只需要点几下鼠标,文件就能出来。需要安装mybatis generator eclipse插件。当然,你要是搜mybatis generator,网上又是一堆教程让你摸不着头脑,你都不知道用那个好,众说纷纭。但我告诉你,在sts4中,只有一条路最爽,那就是用插件,别的不要去折腾。这里是教你如何在sts4中安装mybatis generator插件

    假如你已经安装好了mybatis generator插件,下面我们就开始来生成generatorConfig.xml文件了。

    步骤

    一、我们把这个文件生成到工程目录src/main/resources下,如图:


    generatorConfig1.png generatorConfig2.png generatorConfig3.png

    二、生成好以后,你得到的默认内容都是默认配置,我们需要自己来配置数据库相关的东西。

    解析generatorConfig.xml

    打开我例子中给的generatorCofing.xml,我们来解析一下,到底里面放了什么。一句一句来。

    1、classPathEntry 标签

    <classPathEntry
    location="/Users/xiangronghua/.m2/repository/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar" /> 
    

    这句话的意思是连接mysql的驱动放在哪个位置。你可以使用命令行工具去看一下你的目录下能使用的驱动版本号,版本号要对上,不然执行就得报错。比如我的如下图:


    mysql-connect.png

    2、context 标签 (可以忽略)

     <context id="context1">
    

    3、commentGenerator 标签

     <commentGenerator>
                <!-- 是否去除自动生成的注释 true:是 : false:否 -->
                <property name="suppressAllComments" value="true"/>
    </commentGenerator>
    

    默认就可以了。

    4、jdbcConnection 标签

    
    <!-- 数据库链接URL、用户名、密码 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/Stock" userId="root" password="test" />
    
    

    这句话的意思就是你得先创建好一个数据库,不管你用什么工具,而且数据库里要有表结构。注意:数据库存在是本文章的前提,没有数据库那你先建数据库,建表。本案例中Stock是数据库名称。

    5、javaModelGenerator 标签

    
    <javaModelGenerator targetPackage="com.scottban.jihejingjia.bean" targetProject="jihejingjiaServer/src/main/java" />
    
    

    这句话的意思是你要生成的数据库模型要放到哪个位置。targetPackage 就是你工程的包结构。这里最容易让人摸不着头脑。我要仔细说一下这里,为什么我的包名是com.scottban.jihejingjia.bean ,先来看我的项目结构,如图:

    projStruct1.png

    这个com.scottban.jihejingjia是我用来放程序入口的,是已经建好的包。现在我需要bean包还没有创建,我不需要自己去创建,为什么?因为这个插件就是干这个事情的。一会儿只要执行一下,bean包就会自己生成。mybatis generator就是这么强大,不然要它毛用。

    到这里,也就是targetPackage属性指定的是我的bean文件的路径。
    targetProject指定的是项目的相对路径。jihejingjiaServer/src/main/java意思就是当前项目是jihejingjiaServer,它下面的子文件夹src/main/java

    太绕了,总结一句话,这个标签就是告诉mybatis generator 要在相对路径为jihejingjiaServer/src/main/java/com/scottban/jihejingjia/bean目录下生成数据库的bean文件。真费劲。如果这个你明白了,下面的两个标签你就会明白了,一个道理。

    6、sqlMapGenerator 标签

    
    <sqlMapGenerator targetPackage="com.scottban.jihejingjia.mapper" targetProject="jihejingjiaServer/src/main/java" />
    
    

    翻译过来就是:在相对路径为jihejingjiaServer/src/main/java/com.scottban.jihejingjia.mapper生成数据库的mapper配置文件。

    7、javaClientGenerator 标签

    
    <javaClientGenerator targetPackage="com.scottban.jihejingjia.dao" targetProject="jihejingjiaServer/src/main/java" type="XMLMAPPER" />
    
    

    翻译过来就是:在相对路径为jihejingjiaServer/src/main/java/com.scottban.jihejingjia.dao生成数据库的dao文件。

    8、table 标签

    
    <table schema="ssm1" tableName="User" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"
                enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
                <columnOverride column="userId" property="userId" />
                <columnOverride column="expireTime" property="expireTime" />
                <columnOverride column="phoneNumber" property="phoneNumber" />
                <columnOverride column="nickName" property="nickName" />
    </table>
    
    

    这个标签就是对应你数据库里的表名称,和你要生成的模型文件对应的名称。其中属性tableName 是数据库的表名字,domainObjectName是你想生成的模型的名字。里面的columnOverride是什么?columnOverride是给你的字段重命名。如果这个你不加,默认生成的所有模型字段都是小写,所以建议你要加上,你数据库里的字段是怎么命名的这里就怎么命名一下就行了,当然字段都是小写的,比如password这种字段全是小写的就没必要在这里加了。这里解决的是驼峰命名的问题。驼峰命名已经是软件开发行业的潜在标准了,这样方面服务端和前端的json一步解析。

    好了,终于说完了。基本上按照我这个配置,负责认地告诉你,没有问题。如何执行生成文件请看STS 4 如何配置 mybatis generator 并执行生成对应的文件

    相关文章

      网友评论

        本文标题:STS 4 mybatis generatorConfig.xm

        本文链接:https://www.haomeiwen.com/subject/lnefaftx.html