Explorar o código

支持指定表名生成代码

hubin %!s(int64=9) %!d(string=hai) anos
pai
achega
15be8b4858

+ 8 - 0
mybatis-plus/src/main/java/com/baomidou/mybatisplus/generator/AutoGenerator.java

@@ -26,6 +26,7 @@ import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -230,6 +231,13 @@ public class AutoGenerator {
 	 * @throws SQLException
 	 */
 	private List<String> getTables(Connection conn) throws SQLException {
+		String[] tableNames = config.getTableNames();
+		if ( tableNames != null ) {
+			return Arrays.asList(tableNames);
+		}
+		/**
+		 * 数据库中读取所有表名
+		 */
 		List<String> tables = new ArrayList<String>();
 		PreparedStatement pstate = conn.prepareStatement(config.getConfigDataSource().getTablesSql());
 		ResultSet results = pstate.executeQuery();

+ 14 - 0
mybatis-plus/src/main/java/com/baomidou/mybatisplus/generator/ConfigGenerator.java

@@ -74,6 +74,10 @@ public class ConfigGenerator {
 	 */
 	private boolean isColumnHump = true;
 
+	/*
+	 * 指定生成表名
+	 */
+	private String[] tableNames = null;
 
 	public String getSaveDir() {
 		return saveDir;
@@ -221,4 +225,14 @@ public class ConfigGenerator {
 		this.configIdType = configIdType;
 	}
 
+	
+	public String[] getTableNames() {
+		return tableNames;
+	}
+
+	
+	public void setTableNames( String[] tableNames ) {
+		this.tableNames = tableNames;
+	}
+
 }

+ 6 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/AutoGeneratorUser.java

@@ -56,6 +56,12 @@ public class AutoGeneratorUser extends ConfigGeneratorTest {
 		 * </p>
 		 */
 		cg.setIdType(IdType.AUTO);
+		
+		/*
+		 * 指定生成表名(默认,所有表)
+		 */
+		//cg.setTableNames(new String[]{"user"});
+		
 		AutoGenerator.run(cg);
 	}
 

+ 6 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/oracle/AutoGeneratorTestUser.java

@@ -62,6 +62,12 @@ public class AutoGeneratorTestUser extends ConfigGeneratorTest {
 		 * </p>
 		 */
 		cg.setIdType(IdType.UUID);
+		
+		/*
+		 * 指定生成表名(默认,所有表)
+		 */
+		//cg.setTableNames(new String[]{"user"});
+		
 		AutoGenerator.run(cg);
 	}