什么是Mybatis Generator
MyBatis Generator(MBG)是MyBatis和iBATIS的代码生成器。能够为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码。它将内省数据库表(或许多表),并将生成可用于访问表的工件。这减少了设置对象和配置文件以与数据库表交互的初始麻烦。
MyBatis Generator能够生成:
- 与表结构匹配的Java POJO;
- MyBatis/iBATIS兼容的SQL Map XML文件;
- 适用于MyBatis3.x Mapper基础结构的Dao接口;
怎么配置MBG
本文中使用的工具是IDEA,使用Maven构建项目。
- IDE:IDEA;
- 构建工具:Maven;
- 项目结构:Spring、SpringMVC、Mybatis
pom.xml
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 54 55 56 57 58 59 60 61 62
| <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency>
<build> <finalName>ssm-note</finalName> <pluginManagement> <plugins> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configuration> <configurationFile>src/main/resources/config/mybatis-generator.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <executions> <execution> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.1</version> </dependency> </dependencies> </plugin> </plugins> </build>
|
注意:plugins中配置的结构,不是在<pluginManagement></pluginManagement>
中配置,应该是在<build></build>
的子级配置
mybatis-generator.xml
在pom.xml中配置了这个文件的路径,src/main/resources/config/mybatis-generator.xml
,创建mybatis-generator.xml
文件,其内容以及详细内容如下:
因为我的jdbc.properties文件是在resources/config/jdbc.properties这个位置配置的,因此你需要修改成你自己的。
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
| <?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> <properties resource="config/jdbc.properties"/> <classPathEntry location="C:\Users\Mr.wang\.m2\repository\mysql\mysql-connector-java\5.1.26\mysql-connector-java-5.1.26.jar"/> <context id="DB2Tables" targetRuntime="MyBatis3">
<property name="autoDelimitKeywords" value="false"/> <property name="javaFileEncoding" value="UTF-8"/> <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/> <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/> <commentGenerator> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="true"/> </commentGenerator> <jdbcConnection driverClass="${jdbc.mysql.driver}" connectionURL="${jdbc.mysql.url}" userId="${jdbc.mysql.username}" password="${jdbc.mysql.password}"> </jdbcConnection>
<javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl"> <property name="forceBigDecimals" value="false"/> </javaTypeResolver>
<javaModelGenerator targetPackage="com.weyoung.generator.pojo" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/> </javaModelGenerator>
<sqlMapGenerator targetPackage="com.weyoung.generator.mappers" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.weyoung.generator.dao" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator>
<table tableName="sys_menu" domainObjectName="SysMenu" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
</table> </context> </generatorConfiguration>
|
生成代码
配置完成之后,在如下位置,双击mybatis-generator:generate
即可执行
生成的代码在src/main/java/com.weyoung.generator里面,如下:
相关文章推荐
源码下载
该项目持续更新中,会在代码以及该文档里面详细注释和介绍。项目托管在码云
开源平台上,持续更新项目源码链接:
https://gitee.com/nelucifer/ssm-note,点击克隆/下载
获取该项目。