Score
0
Watch 782 Star 2.3K Fork 688

GVPfuhai / jbootJavaApache-2.0

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
SpringCloud 之外的另一个选择,已经使用在用户量过亿的商业产品上,有超过1000家公司在使用Jboot做极速开发... spread retract

Clone or download
codegen.md 2.71 KB
Copy Edit Web IDE Raw Blame History
fuhai authored 2019-10-06 17:24 . v2.2.2 release (^.^)YYa!!

代码生成器

Jboot 内置了一个简易的代码生成器,可以用来生成model层和Service层的基础代码,在生成代码之前,请先配置jboot.properties关于数据库相关的配置信息,Jboot 代码生成器会通过该配置去链接数据库。

jboot.datasource.type=mysql
jboot.datasource.url=jdbc:mysql://127.0.0.1:3306/jbootdemo
jboot.datasource.user=root
jboot.datasource.password=your_password

编写带有 main 方法的可以运行的工具类,调用 JbootBaseModelGenerator、JbootModelGenerator、JbootServiceInterfaceGenerator、JbootServiceImplGenerator 的 generate() 方法即可。

例如:

public class GenTester {

    public static void main(String[] args) {

        //配置数据量的连接信息,可以通过 JbootApplication.setBootArg 来配置
        //也可以在 jboot.properties 里配置
        JbootApplication.setBootArg("jboot.datasource.url", "jdbc:mysql://127.0.0.1:3306/jbootdemo");
        JbootApplication.setBootArg("jboot.datasource.user", "root");
        JbootApplication.setBootArg("jboot.datasource.password", "123456");

        
        String modelPackage = "io.jboot.test.codegen.model"; //生成的Model的包名
        String baseModelPackage = "io.jboot.test.codegen.modelbase"; //生成的BaseModel的包名

        //Model存放的路径,一般情况下是 /src/main/java 下,如下是放在 test 目录下
        String modelDir = PathKit.getWebRootPath() + "/src/test/java/" + modelPackage.replace(".", "/");
        String baseModelDir = PathKit.getWebRootPath() + "/src/test/java/" + baseModelPackage.replace(".", "/");

        System.out.println("start generate...");
        System.out.println("generate dir:" + modelDir);

        //开始生成 Model 和 BaseModel 的代码
        new JbootBaseModelGenerator(baseModelPackage, baseModelDir).setGenerateRemarks(true).generate();
        new JbootModelGenerator(modelPackage, baseModelPackage, modelDir).generate();


        String servicePackage = "io.jboot.test.codegen.service"; // service 层的接口包名
        String serviceImplPackage = "io.jboot.test.codegen.service.provider"; // service 层的接口实现类包名


        //设置 service 层代码的存放目录
        String serviceOutputDir = PathKit.getWebRootPath() + "/src/test/java/" + servicePackage.replace(".", "/");
        String serviceImplOutputDir = PathKit.getWebRootPath() + "/src/test/java/" + serviceImplPackage.replace(".", "/");


        //开始生成代码
        new JbootServiceInterfaceGenerator(servicePackage, serviceOutputDir, modelPackage).generate();
        new JbootServiceImplGenerator(servicePackage, serviceImplOutputDir, modelPackage).setImplName("provider").generate();

    }
}

Comment ( 0 )

Sign in for post a comment

Java
1
https://gitee.com/fuhai/jboot.git
git@gitee.com:fuhai/jboot.git
fuhai
jboot
jboot
master

Help Search