背景
最近在看springboot整合mybatis时,看到项目里用mybatis generator插件自动生成代码,甚为方便。但是别人用的是IDEA,而我用的eclipse没有,遂弄了一下,并做个总结。
安装插件
eclipse上面的菜单中,Help --> Eclipse Marketpalce --> 搜索框搜:mybatis generator,然后installed一步步安装即可。
问题:这个下载速度实在太慢了,卡了好久,放弃了。
eclipse上面的菜单中,Help --> Install New Software,选择Add,然后Name随便填,Location填 https://dl.bintray.com/mybatis/mybatis-generator/
(插件最新的联网地址),OK之后,选择要安装的插件,一步一步执行下去即可。感觉这个速度还可,等待良久之后,总算安装完成(吃饭期间= =!)。
网上下载插件,不过可能需要对应eclipse版本。这个没试过,现在CSDN下载东西要积分、币,心塞塞。
安装完成之后,选择菜单File–>New–>Other,键入mybatis,可以查看到刚刚安装好的mybatis generator。就此,安装成功了。
使用插件
可以选择新建一个mybatis generator文件,但是需要修改很多东西,所以这里提供一个模板 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="C:\Users\Fudian\Documents\Documents\Java\jar\mysql-connector-java-5.1.7-bin.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true" />
<!-- 是否去除自动生成的注释 true是/false否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1/music" userId="root" password="12345678">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="cn.fudian.music.pojo"
targetProject="singer/src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成映射文件的包名和位置 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="singer/src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator targetPackage="cn.fudian.music.mapper"
targetProject="singer/src/main/java" type="XMLMAPPER">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名 -->
<table tableName="singer" domainObjectName="Singer"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
主要修改如图红框中的地方:
需要注意一下几点:
- 标签顺序不能变,比如先< javaModelGenerator >后< sqlMapGenerator >,变了顺序之后报错;
- 生成文件所放位置的targetProject="
singer
/src/main/java",前面包括了项目名singer,如果少了项目名,会报src找不到的错误; - 生成的mapper.xml功能有点少(吐槽向)
右键generatorConfig.xml,选择generator插件(右键就能看到一只小黑;不过有些版本需要右键文件,然后run as那边才能看到,注意),生成代码结果如下:
此处注意,生成只能生成一次。再点一次,是在原来的基础上在添加一遍代码,会报错。