日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot下使用MyBatis-Puls代碼生成器的方法

瀏覽:75日期:2023-04-16 14:41:13

1.官方地址:

http://mybatis.plus/guide/generator.html#%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B

2.數(shù)據(jù)庫結(jié)構(gòu):

SpringBoot下使用MyBatis-Puls代碼生成器的方法

3.依賴導(dǎo)入

<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> <version>5.1.39</version> </dependency><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.30</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>

配置freemarker是因?yàn)閙yBatis中默認(rèn)的引擎是freemarker,支持自定義引擎

3.目錄結(jié)構(gòu)

SpringBoot下使用MyBatis-Puls代碼生成器的方法

4.官方生成器類

CodeGenerator

public class CodeGenerator { /** * <p> * 讀取控制臺內(nèi)容 * </p> */ public static String scanner(String tip) { Scanner scanner = new Scanner(System.in); StringBuilder help = new StringBuilder(); help.append('請輸入' + tip + ':'); System.out.println(help.toString()); if (scanner.hasNext()) { String ipt = scanner.next(); if (StringUtils.isNotBlank(ipt)) {return ipt; } } throw new MybatisPlusException('請輸入正確的' + tip + '!'); } public static void main(String[] args) { // 代碼生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty('user.dir'); /** * 這里需要設(shè)定一下保存的地址是本項(xiàng)目下的/src/main/java */ gc.setOutputDir(projectPath + '/maven1018/src/main/java'); gc.setAuthor('XYD'); gc.setOpen(false); // gc.setSwagger2(true); 實(shí)體屬性 Swagger2 注解 mpg.setGlobalConfig(gc); // 數(shù)據(jù)源配置 /** * 設(shè)置數(shù)據(jù)庫名稱和數(shù)據(jù)庫賬戶密碼 */ DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl('jdbc:mysql://localhost:3306/temporary?useUnicode=true&useSSL=false&characterEncoding=utf8'); // dsc.setSchemaName('public'); dsc.setDriverName('com.mysql.jdbc.Driver'); dsc.setUsername('root'); dsc.setPassword('12345'); mpg.setDataSource(dsc); // 包配置 /** * 設(shè)置生成文件保存地址,模塊名為命令窗口輸入的模塊名 */ PackageConfig pc = new PackageConfig(); pc.setModuleName(scanner('模塊名')); pc.setParent('com.baomidou.ant'); mpg.setPackageInfo(pc); // 自定義配置 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() {// to do nothing } }; // 如果模板引擎是 freemarker// String templatePath = '/templates/mapper.xml.ftl'; // 如果模板引擎是 velocity // String templatePath = '/templates/mapper.xml.vm'; /** * 這里定義的是生成xml文檔的輸出配置,存放在resource下 */ // 自定義輸出配置// List<FileOutConfig> focList = new ArrayList<>(); // 自定義配置會被優(yōu)先輸出// focList.add(new FileOutConfig(templatePath) {// @Override// public String outputFile(TableInfo tableInfo) {//// 自定義輸出文件名 , 如果你 Entity 設(shè)置了前后綴、此處注意 xml 的名稱會跟著發(fā)生變化!!//return projectPath + '/maven1018/src/main/resources/mapper/' + pc.getModuleName()// + '/' + tableInfo.getEntityName() + 'Mapper' + StringPool.DOT_XML;// }// }); /* cfg.setFileCreate(new IFileCreate() { @Override public boolean isCreate(ConfigBuilder configBuilder, FileType fileType, String filePath) {// 判斷自定義文件夾是否需要創(chuàng)建checkDir('調(diào)用默認(rèn)方法創(chuàng)建的目錄,自定義目錄用');if (fileType == FileType.MAPPER) { // 已經(jīng)生成 mapper 文件判斷存在,不想重新生成返回 false return !new File(filePath).exists();}// 允許生成模板文件return true; } }); */// cfg.setFileOutConfigList(focList);// mpg.setCfg(cfg); // 配置模板 TemplateConfig templateConfig = new TemplateConfig(); // 配置自定義輸出模板 //指定自定義模板路徑,注意不要帶上.ftl/.vm, 會根據(jù)使用的模板引擎自動識別 // templateConfig.setEntity('templates/entity2.java'); // templateConfig.setService(); // templateConfig.setController(); templateConfig.setXml(null); mpg.setTemplate(templateConfig); // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel);// strategy.setSuperEntityClass('你自己的父類實(shí)體,沒有就不用設(shè)置!'); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); // 公共父類// strategy.setSuperControllerClass('你自己的父類控制器,沒有就不用設(shè)置!'); // 寫于父類中的公共字段// strategy.setSuperEntityColumns('id'); //注釋這行否則生成的實(shí)體類中沒有Id變量 strategy.setInclude(scanner('表名,多個英文逗號分割').split(',')); strategy.setControllerMappingHyphenStyle(true); strategy.setTablePrefix(pc.getModuleName() + '_'); mpg.setStrategy(strategy); mpg.setTemplateEngine(new FreemarkerTemplateEngine()); mpg.execute(); }}

5. 代碼生成后的配置

默認(rèn)生成的代碼中實(shí)體類是沒有id屬性的,在代碼生成類中注釋掉strategy.setSuperEntityColumns('id'); 默認(rèn)生成的mapper對象上是沒有@Mapper注解,需要在主配置類中加入@MapperScan注解,進(jìn)行mapper掃描

@SpringBootApplication@MapperScan('com.example.crount.mapper')public class Demo1018Application { public static void main(String[] args) { SpringApplication.run(Demo1018Application.class, args); }}

另外自己要運(yùn)行代碼進(jìn)行數(shù)據(jù)庫訪問,所以application.properties中也要配置數(shù)據(jù)源

# 數(shù)據(jù)庫配置spring.datasource.url=jdbc:mysql:///temporary?characterEncoding=utf-8&useSSL=falsespring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.username=rootspring.datasource.password=12345#連接池配置#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

6.controller開發(fā)

注入service,修改訪問的地址,寫入訪問的方法

@RestControllerpublic class StudentController { @Autowired private IStudentService studentService; @GetMapping('/demo1') public String m1(){ Student student = studentService.getById(3); return student.getSSex(); }}

7.生成的代碼放到主配置類的同級目錄下,運(yùn)行代碼

SpringBoot下使用MyBatis-Puls代碼生成器的方法

到此這篇關(guān)于SpringBoot下使用MyBatis-Puls代碼生成器的方法的文章就介紹到這了,更多相關(guān)MyBatis-Puls代碼生成器內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美精品一区| 久久亚洲色图| 免费美女久久99| 成人免费一区| 成年男女免费视频网站不卡| 国产日产一区| 欧美资源在线| 亚洲一区二区免费看| 午夜av成人| 成人国产精品一区二区网站| 国产欧美一区二区三区精品观看| 蜜臀久久久99精品久久久久久| 国产精品色网| 午夜国产欧美理论在线播放| 国产综合激情| 视频一区二区三区中文字幕| 亚洲综合二区| 91精品xxx在线观看| 成人免费电影网址| 亚洲综合电影| 99视频+国产日韩欧美| 久久人人97超碰国产公开结果| 在线人成日本视频| 欧美理论视频| 欧美日韩国产传媒| 亚洲女同中文字幕| 日韩1区2区3区| 欧美日韩伊人| 国产欧美一区二区精品久久久 | 蜜桃成人av| 欧美肉体xxxx裸体137大胆| 国产成人精品亚洲线观看| 国产一区二区色噜噜| 国产精品蜜芽在线观看| 成人在线丰满少妇av| 精品一区三区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲女同av| 91成人网在线观看| 久久亚洲精品伦理| 国产精品porn| 日韩欧美国产精品综合嫩v| 三上悠亚国产精品一区二区三区 | 国产91在线播放精品| 国产不卡人人| 免费视频一区二区| 清纯唯美亚洲综合一区| 99国产精品久久久久久久| 亚洲五月综合| 日本99精品| 久久精品动漫| 免费人成在线不卡| 亚洲精品大片| 国产福利片在线观看| 欧美~级网站不卡| 亚洲视频二区| 色在线视频观看| 99在线精品视频在线观看| 国产精品97| 国产亚洲久久| 国产中文欧美日韩在线| 中文字幕亚洲精品乱码| 美女高潮久久久| 蜜桃一区二区三区| 欧美aa在线视频| 久久精品国产99久久| 一二三区精品| 国产拍在线视频| 91精品观看| 国产一区二区三区四区五区传媒| 亚洲国产一区二区在线观看| 欧美永久精品| 久久国产精品99国产| 欧美激情综合| 亚洲国产欧美日本视频| 国产精品美女久久久| 欧美韩一区二区| 亚洲综合激情在线| 国产在线不卡一区二区三区| 一区二区不卡| 人人精品亚洲| 久久精品97| 国产精品日本| 精品国产亚洲一区二区在线观看| 中文精品视频| 伊人精品一区| 国产精品qvod| 视频一区中文字幕| 国产一区二区视频在线看| 国产精品试看| 国产精品成人一区二区不卡| 中文无码久久精品| 波多视频一区| 欧美一区二区三区久久精品| 亚洲成人一区在线观看| 7777精品| 精品一区在线| 国产乱码精品一区二区三区四区| 成人免费电影网址| 国产一区二区三区天码| 亚州精品视频| 综合一区在线| 国产一区清纯| 成人台湾亚洲精品一区二区| 亚洲欧美专区| 欧美亚洲国产一区| 麻豆中文一区二区| 亚洲一区亚洲| 日韩深夜视频| 亚洲一区二区小说| 久久久777| 国产精品久久久久av电视剧| 日本欧美一区二区在线观看| 蜜臀精品一区二区三区在线观看| 久久蜜桃资源一区二区老牛| 精品理论电影在线| 精品视频在线观看网站| 91在线成人| 国产精品高清一区二区| 日韩在线黄色| 久久国产精品99国产| 亚洲欧美久久| 国产99久久| 一区在线免费| 久久久久网站| 麻豆网站免费在线观看| 麻豆视频在线观看免费网站黄| 91精品福利观看| 日韩欧美精品一区二区综合视频| 91久久午夜| 91成人网在线观看| 婷婷精品视频| 日韩激情一区| 青青青免费在线视频| 成人在线超碰| 日本美女一区| 精品免费av| 日韩中文影院| 成人久久一区| 美女少妇全过程你懂的久久| 欧美日韩精品一区二区视频| 日韩国产一区二区| 不卡一区综合视频| 日韩欧美二区| 在线综合亚洲| 亚洲欧美视频| 欧美日韩在线观看视频小说| 亚洲激情二区| 国产精品毛片| 青青青国产精品| 国产日产一区| 欧美成人基地 | 日韩中文一区二区| 日韩制服丝袜先锋影音| 亚洲一区二区三区高清不卡| 亚洲精品一二| 亚洲精品黄色| 精品久久美女| 日韩毛片视频| 日韩毛片在线| 亚洲一区有码| 日韩精品亚洲专区| 荡女精品导航| 欧美天堂视频| 亚洲欧美日韩国产一区| 亚洲欧美网站在线观看| 亚洲+小说+欧美+激情+另类| 久久影院资源站| 久久精品资源| 欧美日韩免费看片| 欧美成人国产| 久久精品av| 日韩国产精品久久久久久亚洲| 欧美日韩在线精品一区二区三区激情综合 | 日韩一级不卡| 国产精品成人一区二区网站软件| 久久精品国产999大香线蕉| 久久高清免费| 日韩一区二区免费看| 亚洲一区区二区| 亚洲欧洲美洲国产香蕉| 国产无遮挡裸体免费久久| 一本大道色婷婷在线| 日韩亚洲国产欧美| 日本欧洲一区二区| 久久精品国产免费| 136国产福利精品导航网址| 欧美天堂在线| 黑森林国产精品av| 日韩高清不卡一区二区| 精品九九久久| 国产99精品一区| 国产精品日本一区二区不卡视频| 国产成人精品福利| 国产精品社区| 91午夜精品| 好看的亚洲午夜视频在线| 四虎精品永久免费| 美女久久99| 亚洲精品国产日韩|