All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tsc9526.monalisa.main.DBModelGenerateMain Maven / Gradle / Ivy

There is a newer version: 2.2.0
Show newest version
/*******************************************************************************************
 *	Copyright (c) 2016, zzg.zhou([email protected])
 * 
 *  Monalisa is free software: you can redistribute it and/or modify
 *	it under the terms of the GNU Lesser General Public License as published by
 *	the Free Software Foundation, either version 3 of the License, or
 *	(at your option) any later version.

 *	This program is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *	GNU Lesser General Public License for more details.

 *	You should have received a copy of the GNU Lesser General Public License
 *	along with this program.  If not, see .
 *******************************************************************************************/
package com.tsc9526.monalisa.main;

import java.io.File;

import com.tsc9526.monalisa.orm.generator.DBGeneratorLocal;
import com.tsc9526.monalisa.orm.mqs.SQLGenerator;
import com.tsc9526.monalisa.tools.logger.Logger;

/**
 * 数据库访问接口代码生成三种方式:
* 1. 使用Maven编译插件:
*     <annotationProcessor>
*       com.tsc9526.monalisa.orm.processor.DBAnnotationProcessor
*     </annotationProcessor>
* 2. 使用Eclipse插件
* 3. 手工调用本类提供的静态方法 *
* @author zzg.zhou([email protected]) */ public class DBModelGenerateMain { static Logger logger=Logger.getLogger(DBModelGenerateMain.class.getName()); public static void main(String[] args) throws Exception{ if(args.length<2){ String usage="Usage: \r\n" +DBModelGenerateMain.class.getName()+" [out_resource_path = output_java_path]"; System.out.println(usage); }else{ generateModelClass(Class.forName(args[0]),args[1],args.length>2?args[2]:args[1]); generateSqlQueryClass(args[1],args.length>2?args[2]:args[1]); } } /** * 生成数据库基本表的查询类
* 输出代码目录优先级: "./src/main/java" > "./src" * * @param clazzWithDBAnnotation 指定的数据库连接信息类 */ public static void generateModelClass(Class clazzWithDBAnnotation){ if(new File("./src/main/java").exists()){ generateModelClass(clazzWithDBAnnotation,"./src/main/java","./src/main/resources"); }else{ File src=new File("./src"); if(!src.exists()){ src.mkdir(); } generateModelClass(clazzWithDBAnnotation,"./src","./src"); } } /** * 生成SQL文件定义的查询类(SQL目录的默认读取位置为: "./sql", 包含子目录)
* 输出代码目录的优先级: "./src/main/java" > "./src" */ public static void generateSqlQueryClass(){ if(new File("./src/main/java").exists()){ generateSqlQueryClass("./src/main/java","./src/main/resources"); }else{ File src=new File("./src"); if(!src.exists()){ src.mkdir(); } generateSqlQueryClass("./src","./src"); } } public static void generateModelClass(Class clazzWithDBAnnotation,String outputJavaDir){ generateModelClass(clazzWithDBAnnotation,outputJavaDir,outputJavaDir); } public static void generateModelClass(Class clazzWithDBAnnotation,String outputJavaDir,String outputResourceDir){ DBGeneratorLocal dbGen=new DBGeneratorLocal(clazzWithDBAnnotation,outputJavaDir,outputResourceDir); dbGen.generateFiles(); } public static void generateSqlQueryClass(String outputJavaDir){ generateSqlQueryClass(outputJavaDir, outputJavaDir); } public static void generateSqlQueryClass(String outputJavaDir,String outputResourceDir){ SQLGenerator sqlGen=new SQLGenerator(outputJavaDir, outputResourceDir); sqlGen.generateFiles(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy