生成步骤
步骤 1: 定义实体类
首先,你需要定义好你的实体类,包括字段以及字段的注解。例如:
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("user")
public class User {
private Long id;
private String username;
private String password;
// 其他字段
}
步骤 2: 配置数据源
确保你已经在application.properties
或者application.yml
中配置了正确的数据源信息。
步骤 3: 编写代码生成器
MyBatis-Plus提供了一个代码生成器,可以根据实体类自动生成对应的数据表结构的代码。你需要创建一个类来配置和运行代码生成器。
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class CodeGenerator {
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("YourName");
gc.setOpen(false);
gc.setBaseResultMap(true);
gc.setBaseColumnList(true);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/your_database");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("your_username");
dsc.setPassword("your_password");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example.demo");
pc.setModuleName("model");
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setInclude("user"); // 要生成的表名
strategy.setControllerMappingHyphenStyle(true);
strategy.setTablePrefix(pc.getModuleName() + "_");
mpg.setStrategy(strategy);
// 执行生成
mpg.execute();
}
}
步骤 4: 运行代码生成器
运行上面的main
方法,代码生成器将会自动根据实体类生成对应的数据表结构的代码。
完成以上步骤后,你就可以在指定的包中看到生成的实体类、Mapper接口以及对应的XML文件(如果使用XML映射的话)。
温馨提示
当前文章由AI生成,如果未能解决您的问题,可以点击我的主页和我取得联系,随时为您服务。