MybatisPlus 快速生成實體類和項目模板


  在項目對數據庫表設計完成后,可以通過MybatisPlus根據數據庫表快速生成實體類、mapper層以及service層、controller層的模板。具體方法如下:

1、導包

<!--        MybtaisPlus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.4.3.4</version>
        </dependency>
<!--        代碼生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.2</version>
        </dependency>
<!--        模板引擎-->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.2</version>
        </dependency>
<!--        日志接口實現-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.25</version>
            <scope>compile</scope>
        </dependency>

 

2、根據需求設計並創建數據庫

 

3、編寫自動生成類並對生成器進行配置

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring.xml")
public class Generator {

    @Autowired
    DataSource ds;

    @Test
    public void testGenerator() {
        // 全局配置
        GlobalConfig config = new GlobalConfig();
        config.setActiveRecord(false) // AR模式
                .setAuthor("作者")    // 作者
                .setOutputDir(System.getProperty("user.dir") + "/src/main/java") // 生成路徑
                .setFileOverride(true) // 文件覆蓋
                .setIdType(IdType.AUTO) // 主鍵策略
                .setServiceName("%sService"); // 設置生成的service接口的名字,默認為I%sSerice

        // 數據源配置
        DataSourceConfig dsConfig = new DataSourceConfig();
        dsConfig.setDbType(DbType.MYSQL)     // 設置數據庫類型
                .setDriverName("com.mysql.cj.jdbc.Driver")
                .setUrl("jdbc:mysql://127.0.0.1:3306/xxx?useUnicode=true&characterEncoding=utf8")
                .setUsername("root")
                .setPassword("123456");

        // 策略配置
        StrategyConfig stConfig = new StrategyConfig();
        stConfig.setCapitalMode(true) // 全局大寫命名
                .setNaming(NamingStrategy.underline_to_camel); // 數據庫表映射到實體的命名策略

        // 包名配置
        PackageConfig pkConfig = new PackageConfig();
        pkConfig.setParent("com.miz")
                .setMapper("dao")
                .setService("service")
                .setController("controller")
                .setEntity("entity")
                .setXml("dao.mapper");

        //  整合
        AutoGenerator ag = new AutoGenerator();
        ag.setGlobalConfig(config).setDataSource(dsConfig).setStrategy(stConfig).setPackageInfo(pkConfig);
        // 生成
        ag.execute();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM