首先附上我扩展后项目的github地址:点击打开链接
为了项目的需要,需要在生成的Mapper里添加enableSelectNotDeleteAll、enableSelectNotDeleteByPrimaryKey方法。下面介绍实现的过程。
第一步:在generatorConfig.xml对应的dtd文件里添加table的属性,如下:
<!ELEMENT table (property*, generatedKey?, columnRenamingRule?, (columnOverride | ignoreColumn | ignoreColumnsByRegex)*) >
<!ATTLIST table
catalog CDATA #IMPLIED
schema CDATA #IMPLIED
tableName CDATA #REQUIRED
alias CDATA #IMPLIED
boObjectName CDATA #IMPLIED
domainObjectName CDATA #IMPLIED
mapperName CDATA #IMPLIED
sqlProviderName CDATA #IMPLIED
enableInsert CDATA #IMPLIED
enableInsertSelective CDATA #IMPLIED
enableSelectByPrimaryKey CDATA #IMPLIED
enableSelectNotDeleteByPrimaryKey CDATA #IMPLIED
enableSelectByExample CDATA #IMPLIED
enableUpdateByPrimaryKey CDATA #IMPLIED
enableDeleteByPrimaryKey CDATA #IMPLIED
enableDeleteByExample CDATA #IMPLIED
enableCountByExample CDATA #IMPLIED
enableUpdateByExample CDATA #IMPLIED
enableUpdateByExampleSelective CDATA #IMPLIED
selectByPrimaryKeyQueryId CDATA #IMPLIED
selectByExampleQueryId CDATA #IMPLIED
enableSelectAll CDATA #IMPLIED
enableSelectNotDeleteAll CDATA #IMPLIED
modelType CDATA #IMPLIED
escapeWildcards CDATA #IMPLIED
delimitIdentifiers CDATA #IMPLIED
delimitAllColumns CDATA #IMPLIED>
你需要什么属性就可以在这添加什么属性,添加完成后xml文件里就可以写对应的属性了,如:
<table tableName="t_Member" domainObjectName="Member" boObjectName="MemberBo" enableInsert="false"
enableUpdateByExample = "false" enableSelectAll="true" enableSelectNotDeleteAll="true"
enableSelectNotDeleteByPrimaryKey = "true">
<property name="useActualColumnNames" value="true"/>
<generatedKey column="FID" sqlStatement="SELECT @@IDENTITY" identity="true"/>
<columnRenamingRule searchString="^F" replaceString=""/>
</table>
第二步:第一步修改完成后需要对TableConfiguration和MyBatisGeneratorConfigurationParser两个类添加相关修改,在