示例代码 - GreedyStar/generator GitHub Wiki

示例使用的数据库业务表如下所示:

user(id, office_id, name, phone, email)

role(id, name)

office(id, name)

user_role(id, user_id, role_id)

在项目中新建一个测试类,建议在测试目录下,执行如下代码(以下代码基于v1.3.0):

单表关系

Invoker invoker = new SingleInvoker.Builder()
        .setTableName("user")
        .setClassName("User")  // 可空. 若空则自动根据表名生成类名,如: user->User,sys_role->SysRole
        .build();
invoker.execute(); 

一对多关系

Invoker invoker = new One2ManyInvoker.Builder()
        .setTableName("user")
        .setClassName("User")
        .setParentTableName("office")
        .setParentClassName("Office")
        .setForeignKey("office_id")
        .build();
invoker.execute();

多对多关系

Invoker invoker = new Many2ManyInvoker.Builder()
        .setTableName("user")
        .setClassName("User")
        .setParentTableName("role")
        .setParentClassName("Role")
        .setRelationTableName("user_role")
        .setForeignKey("user_id")
        .setParentForeignKey("role_id")
        .build();
invoker.execute();

注意:1.0.X版本中,数据库连接的参数需在代码中设置,调用接口略有不同,建议使用最新版。