_Generato自动生成Model、BaseModel异常


build.png上面的断点没有执行,直接进入了finally 出现了一下异常

build_error.png


以下是_Generator具体代码


/**
 * Model、BaseModel、_MappingKit 生成器
 */
public class _Generator {

	/**
	 * 排除部分代码
	 */
	private static String[] excludedTable = {
			"address", 
			"area", 
			"area_city", 
			"data_login",
			"data_money",
			"dicts",
			"hotel",
			"hotel_ded",
			"hotel_stock",
			"item",
			"links",
			"member",
            "order_item", 
            "orders", 
            "product",
            "sale_data", 
            "test_info",
            "user_info",
            "users",
            "users_exp",
            "users_item"
	};

	/**
	 * 重用 AppConifg 中的数据源配置,避免冗余配置
	 */
	public static DataSource getDataSource() {
		DruidPlugin druidPlugin = AppConifg.getDruidPlugin();
		druidPlugin.start();
		return druidPlugin.getDataSource();
	}

	public static void main(String[] args) {
		// base model 所使用的包名
		String baseModelPackageName = "com.javen.weixin.common.model.base";
		// base model 文件保存路径
		String baseModelOutputDir = PathKit.getWebRootPath()
				+ "/src/main/java/com/javen/weixin/common/model/base";

		System.out.println("输出路径:"+ baseModelOutputDir);

		// model 所使用的包名 (MappingKit 默认使用的包名)
		String modelPackageName = "com.javen.weixin.common.model";
		// model 文件保存路径 (MappingKit 与 DataDictionary 文件默认保存路径)
		String modelOutputDir = baseModelOutputDir + "/..";

		// 创建生成器
		Generator gen = new Generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir);
		// 设置数据库方言
		gen.setDialect(new MysqlDialect());
		// 添加不需要生成的表名
		for (String table : excludedTable) {
			gen.addExcludedTable(table);
		}
		// 设置是否在 Model 中生成 dao 对象
		gen.setGenerateDaoInModel(false);
		// 设置是否生成字典文件
		gen.setGenerateDataDictionary(false);
		// 设置需要被移除的表名前缀用于生成modelName。例如表名 "osc_user",移除前缀 "osc_"后生成的model名为 "User"而非 OscUser
		gen.setRemovedTableNamePrefixes("wx_");
		// 生成
		gen.generate();
	}
}


评论区

JFinal

2017-06-04 17:24

异常信息表明 mysql 驱动可能有问题,包名很奇怪,换个驱动试试

Javen

2017-06-05 11:46

@JFinal 感谢 是mysql驱动的问题。

热门反馈

扫码入社