用 Spring Boot 和 MybatisPlus 快速构建项目

自动生成

public class MPGenerator {
public static void main(String[] args) {
AutoGenerator autoGenerator = new AutoGenerator(); //数据源
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL);
dataSourceConfig.setUrl("jdbc:mysql://...");
dataSourceConfig.setUsername("...");
dataSourceConfig.setPassword("...");
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
autoGenerator.setDataSource(dataSourceConfig); //全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java"); // 输出的根目录
globalConfig.setOpen(false); // 生成后是否打开文件资源管理器
globalConfig.setAuthor("...");
globalConfig.setServiceName("%sService"); // 设置service接口名前没有‘I’
autoGenerator.setGlobalConfig(globalConfig); //包信息
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.example"); // 父包目录
packageConfig.setController("controller");
packageConfig.setService("service");
packageConfig.setServiceImpl("service.impl");
packageConfig.setMapper("com.example/mapper/xml");
packageConfig.setEntity("entity");
autoGenerator.setPackageInfo(packageConfig); //配置策略
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setEntityLombokModel(true);
strategyConfig.setNaming(NamingStrategy.underline_to_camel); // 将数据库中的字段的下划线转为驼峰命名
autoGenerator.setStrategy(strategyConfig); autoGenerator.execute();
}
}

Mapper.xml 不生效

报错:

Invalid bound statement (not found):...

官网解决方案:

https://baomidou.com/guide/faq.html

注意,生成的Mapper.xml放在src下,如用IDEA是不会扫描此文件夹下的xml文件:

  • 在pom.xml的build下加入:

    <build>
    <resources>
    <resource>
    <!-- xml放在java目录下-->
    <directory>src/main/java</directory>
    <includes>
    <include>**/*.xml</include>
    </includes>
    </resource>
    </resources>
    </build>
  • 在springboot配置文件下配置,classpath是相对于target下的classes目录:

    mybatis-plus.mapper-locations=classpath:/.../mapper/xml/*.xml
上一篇:扒一扒EOS的前世今生


下一篇:Useful Scripts for E-Business Suite Applications Analysts