Mybatis Generator
MBG配置文档:https://www.kancloud.cn/wizardforcel/java-opensource-doc/152996
mvn配置文档http://blog.csdn.net/pucao_cug/article/details/64499355
1.--overwrite 覆盖命令:默认是java文件覆盖,xml文件合并
2.关于生成的众多by example文件,主要是用于动态条件的生成,主要包含
Criteria
Criteria包含一个Cretiron的集合,每一个Criteria对象内包含的Cretiron之间是由AND连接的,是逻辑与的关系。
oredCriteria
Example内有一个成员叫oredCriteria,是Criteria的集合,就想其名字所预示的一样,这个集合中的Criteria是由OR连接的,是逻辑或关系。oredCriteria就是ORed Criteria。
最外层为and,内层为or连接,理论上可以组成任何条件
会为每一个属性生成对应的方法,很庞大,但是太累赘,还不如自己写。
但是由于无法使用时无法得到只管的sql语句,而是动态生成,不利于问题的排查。不推荐使用,默认是生成的,可以在table里
关闭<table schema="general" tableName="tb_table_name" domainObjectName="EntityName"
enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false" >
本着使用精神,尝试selectByExample
1.distinct 要小心,为true时,默认是所有列,必须要手动改
很不好用,简单的不如自己手写,复杂的用example又不够直观
<!-- MBG插件和依赖 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<configurationFile>src\main\resources\config\dev\MBGgenerator.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generatate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
<phase>generate</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
</dependencies>
</plugin>
<?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="mbg.properties"/>
<context id="MysqlMBG" targetRuntime="MyBatis3">
<!-- 是否去除自动生成的注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true" />
<property name="suppressDate" value="false" />
</commentGenerator>
<!-- jdbc连接配置 -->
<jdbcConnection driverClass="${driverClass}"
connectionURL="${connectionURL}"
userId="${userId}" password="${password}">
</jdbcConnection>
<!-- java类型配置 -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- generate Model -->
<javaModelGenerator targetPackage="com.unionpay.data.mbg.model"
targetProject="${targetProject}">
<property name="enableSubPackages" value="true" />
</javaModelGenerator>
<!-- generate xml -->
<sqlMapGenerator targetPackage="com.unionpay.data.mbg.mapper"
targetProject="${targetProject}">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- generate dao -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.unionpay.data.mbg.dao"
targetProject="${targetProject}">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table tableName="%">
</table>
</context>
</generatorConfiguration>
#mbg配置文件
driverClass=com.mysql.jdbc.Driver
connectionURL=jdbc:mysql://172.21.101.35:60007/chcntdb
userId=cup_dba
password=OStem@00
targetProject=C:/repository/BranchRepository/20171128/ch_ci_dm/src/main/java