MyBatis_Generator的使用(实践)
使用MyBatis的Generator主要配置三个地方
1、pom.xml
2、generatorConfig.xml
3、maven命令生成文件
一、pom.xml
1、引入依赖
<mysql.version>5.1.37</mysql.version>
<mybatis.version>3.3.1</mybatis.version>
<mybatis.spring.version>1.2.3</mybatis.spring.version>
<spring.version>4.2.5.RELEASE</spring.version>
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 | <!-- 数据库 --> < dependency > < groupId >mysql</ groupId > < artifactId >mysql-connector-java</ artifactId > < version >${mysql.version}</ version > < scope >runtime</ scope > </ dependency > < dependency > < groupId >com.alibaba</ groupId > < artifactId >druid</ artifactId > < version >1.0.18</ version > </ dependency > < dependency > < groupId >org.mybatis</ groupId > < artifactId >mybatis</ artifactId > < version >${mybatis.version}</ version > </ dependency > < dependency > < groupId >org.mybatis</ groupId > < artifactId >mybatis-spring</ artifactId > < version >${mybatis.spring.version}</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-jdbc</ artifactId > < version >${spring.version}</ version > </ dependency > < dependency > < groupId >org.mybatis.generator</ groupId > < artifactId >mybatis-generator-core</ artifactId > < version >1.3.2</ version > </ dependency > </ dependencies > |
2、引入mybatis插件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | < build > < plugins > < plugin > < groupId >org.mybatis.generator</ groupId > < artifactId >mybatis-generator-maven-plugin</ artifactId > < version >1.3.2</ version > < configuration > < verbose >true</ verbose > < overwrite >true</ overwrite > </ configuration > </ plugin > </ plugins > </ build > |
二、generatorConfig.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 63 64 65 66 67 | <? xml version = "1.0" encoding = "UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" < generatorConfiguration > <!-- <properties resource="jdbc.properties" />--> < classPathEntry location = "C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\5.1.37\mysql-connector-java-5.1.37.jar" /> < context id = "Mysql2Tables" targetRuntime = "MyBatis3" > <!-- 生成的pojo,将implements Serializable--> < plugin type = "org.mybatis.generator.plugins.SerializablePlugin" ></ plugin > < commentGenerator > <!-- 是否去除自动生成的注释 true:是 : false:默认 --> < property name = "suppressAllComments" value = "false" /> <!--suppressDate:**阻止**生成的注释包含时间戳,默认为false--> < property name = "suppressDate" value = "true" /> </ commentGenerator > <!-- 数据库链接URL、用户名、密码 --> < jdbcConnection driverClass = "com.mysql.jdbc.Driver" connectionURL = "jdbc:mysql://IP:3306/test?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true&amp;failOverReadOnly=false&amp;zeroDateTimeBehavior=convertToNull" userId = "root" password = "" > </ jdbcConnection > <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> < javaTypeResolver > < property name = "forceBigDecimals" value = "false" /> </ javaTypeResolver > <!-- 生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径,如./src/main/java, 也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下 --> <!--生成数据库对应的实体类,可以使用相对路径:./src/main/java--> < javaModelGenerator targetPackage = "com.gossip.dub.domain.entity" targetProject = "c:\mybatis" > < property name = "enableSubPackages" value = "true" /> <!-- 从数据库返回的值被清理前后的空格 --> < property name = "trimStrings" value = "true" /> </ javaModelGenerator > <!--对应的mapper.xml文件,需要手动创建mybatis、mapper文件夹 --> < sqlMapGenerator targetPackage = "mappers" targetProject = "c:\mybatis\mapper" > < property name = "enableSubPackages" value = "true" /> </ sqlMapGenerator > <!-- 对应的Mapper接口类文件,需要手动创建mybatis、mapper文件夹 --> < javaClientGenerator type = "XMLMAPPER" targetPackage = "com.gossip.dub.dao" targetProject = "c:\mybatis\interfaces" > < property name = "enableSubPackages" value = "true" /> </ javaClientGenerator > <!-- 列出要生成代码的所有表,这里配置的是不生成Example文件 --> < table tableName = "seckill" domainObjectName = "SecKill" enableCountByExample = "true" enableUpdateByExample = "true" enableDeleteByExample = "true" enableSelectByExample = "true" selectByExampleQueryId = "true" > <!--是否使用真实的列名,该属性可以不定义--> < property name = "useActualColumnNames" value = "false" /> </ table > </ context > </ generatorConfiguration > |
三、使用maven命令生成model、接口、xml
mybatis-generator:generate