您的位置:首页 > 编程语言

【mybatis源码学习】利用maven插件自动生成mybatis代码

2018-08-11 16:24 711 查看

 

【一】在要生成代码的项目模块的pom.xml文件中添加maven插件

<!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="MySQLTables" targetRuntime="MyBatis3">
<!-- 生成的Java文件的编码 -->
<property name="javaFileEncoding" value="UTF-8"/>
<!-- 格式化java代码 -->
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
<!-- 格式化XML代码 -->
<property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>

<!--生成toString-->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>

<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://xxx:5002/xx?auto_commit=false&amp;charset=UTF8&amp;zeroDateTimeBehavior=convertToNull"
userId="fundscoredev"
password="fundscoredev" />
<!--生成的model 包路径 -->
<javaModelGenerator targetPackage="实体包路径"
targetProject="src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false"/>
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>

<!--生成xml mapper文件 路径 -->
<sqlMapGenerator targetPackage="mapper/generated" targetProject="src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>

<!-- 生成的Dao接口 的包路径 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="实体包路径"
targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>

<!--配置表 -->
<table tableName="表名" domainObjectName="类名"
enableCountByExample="true" enableUpdateByExample="true"
enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
<columnOverride column="id" property="id" javaType="long" jdbcType="BIGINT"></columnOverride>
<columnOverride column="channel_id" property="channelId" javaType="int" jdbcType="INTEGER"></columnOverride>
<columnOverride column="channel_type" property="channelType" javaType="**.enums.ChannelType" jdbcType="INTEGER" typeHandler="**.EnumTypeHandler"></columnOverride>
</table>
</context>
</generatorConfiguration>
View Code

 

3、Mybatis中javaType和jdbcType对应关系

JDBCType            JavaType
CHAR                String
VARCHAR             String
LONGVARCHAR         String
NUMERIC             java.math.BigDecimal
DECIMAL             java.math.BigDecimal
BIT                 boolean
BOOLEAN             boolean
TINYINT             byte
SMALLINT            short
INTEGER             int
BIGINT              long
REAL                float
FLOAT               double
DOUBLE              double
BINARY              byte[]
VARBINARY           byte[]
LONGVARBINARY               byte[]
DATE                java.sql.Date
TIME                java.sql.Time
TIMESTAMP           java.sql.Timestamp
CLOB                Clob
BLOB                Blob
ARRAY               Array
DISTINCT            mapping of underlying type
STRUCT              Struct
REF                 Ref
DATALINK            java.net.URL[color=red][/color]

【三】在idea上配置启动命令。点击run-->Edit configurations-->maven选项->点击“+”号添加启动命令配置,如下图

 

【四】启动命令。如下图

【五】如果没有报错,在generatorConfig.xml配置的指定目录下则会生成相应的文件内如。如下图

 

【六】完成

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: