您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何在MyBatis-Plus逆向工程使用Generator,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
環境搭建
首先創建一張數據庫表
DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL COMMENT '主鍵ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年齡', email VARCHAR(50) NULL DEFAULT NULL COMMENT '郵箱', PRIMARY KEY (id) );
對應的數據如下
DELETE FROM user; INSERT INTO user (id, name, age, email) VALUES (1, 'Jone', 18, 'test1@baomidou.com'), (2, 'Jack', 20, 'test2@baomidou.com'), (3, 'Tom', 28, 'test3@baomidou.com'), (4, 'Sandy', 21, 'test4@baomidou.com'), (5, 'Billie', 24, 'test5@baomidou.com');
創建一個普通的SpringBoot項目,然后引入依賴,既然要跟數據庫打交道,connector肯定不能少
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency>
另外要使用mybatis-plus,當然也要引入該starter
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </dependency>
由于需要用到逆向工程,所以引入依賴
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </dependency>
還需要一個模板引擎的依賴
<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.1</version> </dependency>
為了方便起見,這里引入Lombok
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
然后編寫一個類,直接執行即可!
class AutoCode { public static void main(String[] args) { // 1、全局配置 GlobalConfig globalConfig = new GlobalConfig();//構建全局配置對象 String projectPath = System.getProperty("user.dir");// 獲取當前用戶的目錄 globalConfig .setOutputDir(projectPath + "/mybatis-plus-01-start/src/main/java")// 輸出文件路徑 .setAuthor("微信搜一搜:賀賀學編程")// 設置作者名字 .setOpen(false)// 是否打開資源管理器 .setFileOverride(true)// 是否覆蓋原來生成的 .setIdType(IdType.AUTO)// 主鍵策略 .setBaseResultMap(true)// 生成resultMap .setBaseColumnList(true)// XML中生成基礎列 .setServiceName("%sService");// 生成的service接口名字首字母是否為I,這樣設置就沒有I // 2、數據源配置 DataSourceConfig dataSourceConfig = new DataSourceConfig();// 創建數據源配置 dataSourceConfig .setUrl("jdbc:mysql://127.0.0.1:3306/mybatis_plus?userSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC") .setDriverName("com.mysql.cj.jdbc.Driver") .setUsername("root") .setPassword("root") .setDbType(DbType.MYSQL); // 3、包配置 PackageConfig packageConfig = new PackageConfig(); packageConfig .setParent("com.hzy") .setEntity("entity") .setController("controller") .setService("service") .setMapper("mapper"); // 4、策略配置 StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig .setCapitalMode(true)// 開啟全局大寫命名 .setInclude("user")// 設置要映射的表 .setNaming(NamingStrategy.underline_to_camel)// 下劃線到駝峰的命名方式 .setColumnNaming(NamingStrategy.underline_to_camel)// 下劃線到駝峰的命名方式 .setEntityLombokModel(false)// 是否使用lombok .setRestControllerStyle(true)// 是否開啟rest風格 .setControllerMappingHyphenStyle(true);// localhost:8080/hello_a_2 // 5、自定義配置(配置輸出xml文件到resources下) InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { // to do nothing } }; List<FileOutConfig> focList = new ArrayList<>(); String templatePath = "/templates/mapper.xml.vm"; // 自定義配置會被優先輸出 focList.add(new FileOutConfig(templatePath) { @Override public String outputFile(TableInfo tableInfo) { // 自定義輸出文件名 , 如果你 Entity 設置了前后綴、此處注意 xml 的名稱會跟著發生變化!! return projectPath + "/mybatis-plus-01-start/src/main/resources/mapper/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; } }); cfg.setFileOutConfigList(focList); // 6、整合配置 AutoGenerator autoGenerator = new AutoGenerator();// 構建代碼生自動成器對象 autoGenerator .setGlobalConfig(globalConfig)// 將全局配置放到代碼生成器對象中 .setDataSource(dataSourceConfig)// 將數據源配置放到代碼生成器對象中 .setPackageInfo(packageConfig)// 將包配置放到代碼生成器對象中 .setStrategy(strategyConfig)// 將策略配置放到代碼生成器對象中 .setCfg(cfg)// 將自定義配置放到代碼生成器對象中 .execute();// 執行! } }
執行結果如下
代碼中的注釋比較多,我就不多說了
關于如何在MyBatis-Plus逆向工程使用Generator就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。