<?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="jdbc.properties"></properties>

	<!-- mysql驱动包 -->
	<classPathEntry location="${classPathEntry}" />

	<context id="context" targetRuntime="MyBatis3">

		<property name="javaFileEncoding" value="UTF-8"/>

		<!-- 由于beginningDelimiter和endingDelimiter的默认值为双引号(")，在Mysql中不能这么写，所以还要将这两个默认值改为**反单引号(`)**，配置如下：  -->
		<property name="beginningDelimiter" value=""/>
		<property name="endingDelimiter" value=""/>

		<!-- 为生成的Java模型创建一个toString方法 -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin>

		<!-- 为生成的Java模型类添加序列化接口，并生成serialVersionUID字段 -->
		<plugin type="org.mybatis.generator.plugins.SerializablePlugin">
			<property name="suppressJavaInterface" value="false"/>
		</plugin>

		<!-- 生成一个新的selectByExample方法，这个方法可以接受一个RowBounds参数，主要用来实现分页 -->
        <plugin type="com.zheng.common.plugin.PaginationPlugin"></plugin>

		<!-- 生成在XML中的<cache>元素 -->
		<plugin type="org.mybatis.generator.plugins.CachePlugin">
			<!-- 使用ehcache -->
			<property name="cache_type" value="org.mybatis.caches.ehcache.LoggingEhcache" />
			<!-- 内置cache配置 -->
			<!--
			<property name="cache_eviction" value="LRU" />
			<property name="cache_flushInterval" value="60000" />
			<property name="cache_readOnly" value="true" />
			<property name="cache_size" value="1024" />
			-->
		</plugin>

		<!-- Java模型生成equals和hashcode方法 -->
		<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"></plugin>

		<!-- 生成的代码去掉注释 -->
		<commentGenerator>
			<property name="suppressAllComments" value="true" />
		</commentGenerator>

		<!-- 数据库连接 -->
		<jdbcConnection driverClass="${jdbc.driver}"
			connectionURL="${jdbc.url}"
			userId="${jdbc.username}"
			password="${jdbc.password}" />

		<!-- model生成 -->
		<javaModelGenerator targetPackage="${generator.javaModelGenerator.targetPackage}" targetProject="src/main/java" />

		<!-- MapperXML生成 -->
		<sqlMapGenerator targetPackage="${generator.sqlMapGenerator.targetPackage}" targetProject="src/main/java" />

		<!-- Mapper接口生成 -->
		<javaClientGenerator targetPackage="${generator.javaClientGenerator.targetPackage}" targetProject="src/main/java" type="XMLMAPPER" />

		<!-- 需要映射的表 -->
		<table tableName="test_user" domainObjectName="User">
			<generatedKey column="user_id" sqlStatement="MySql" identity="true" />
		</table>
		<table tableName="test_book" domainObjectName="Book">
			<generatedKey column="book_id" sqlStatement="MySql" identity="true" />
		</table>
		<table tableName="cms_article" domainObjectName="CmsArticle">
			<generatedKey column="article_id" sqlStatement="MySql" identity="true" />
		</table>
		<table tableName="cms_category" domainObjectName="CmsCategory">
			<generatedKey column="category_id" sqlStatement="MySql" identity="true" />
		</table>
		<table tableName="cms_tag" domainObjectName="CmsTag">
			<generatedKey column="tag_id" sqlStatement="MySql" identity="true" />
		</table>
		<table tableName="cms_article_category" domainObjectName="CmsArticleCategory"></table>
		<table tableName="cms_article_tag" domainObjectName="CmsArticleTag"></table>
		<table tableName="cms_category_tag" domainObjectName="CmsCategoryTag"></table>
		<table tableName="cms_comment" domainObjectName="CmsComment">
			<generatedKey column="case_id" sqlStatement="MySql" identity="true" />
		</table>
	</context>
</generatorConfiguration>