引言
最近在使用Mybatis Generator 自动生成的方法中,发现不能指定查询字段,selectByExample将整个表的字段都 返回了,如果想要查询某个表的指定字段,就需要自己手动写sql,这样觉得不方便,所以小编参考了Mybatis Generator 的源代码,自己写了一个插件满足需求。
相关注释在代码中都有,这里就不多说了,直接上代码:
package com.jack.db.plugin;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.PluginAdapter;
import org.mybatis.generator.api.dom.java.*;
import org.mybatis.generator.api.dom.xml.Attribute;
import org.mybatis.generator.api.dom.xml.Document;
import org.mybatis.generator.api.dom.xml.TextElement;
import org.mybatis.generator.api.dom.xml.XmlElement;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
/**
* @Description: 指定查询字段
* @author: zhenghao
* @date: 2020/7/15 9:50
*/
public class SelectConditionPlugin extends PluginAdapter {
/**
* 修改Mapper类
*/
@Override
public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass,
IntrospectedTable introspectedTable) {
addSelectConditionMethod(interfaze, introspectedTable);
return super.clientGenerated(interfaze, topLevelClass, introspectedTable);
}
/**
* 修改Mapper.xm