范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

取代MybatisGenerator,这款代码生成神器更简单,开发效率更高

  作为一名 Java 后端开发,日常工作中免不了要生成数据库表对应的持久化对象 PO,操作数据库的接口 DAO,以及 CRUD 的 XML,也就是 mapper。
  Mybatis Generator 是 MyBatis 官方提供的一个代码生成工具,完全可以胜任这个工作,不过最近在开发"编程猫"开源网站的时候试用了一下 MyBatis-Plus 官方提供 AutoGenerator,发现配置更简单,开发效率更高!于是就来给小伙伴们安利一波。
  来个 GIF 感受一下 AutoGenerator 生成代码的快感吧。
  一、使用 Mybatis Generator
  为了形成鲜明的对比,我们先来使用 Mybatis Generator 生成一次代码,感受一下整个过程。
  第一步,在 pom.xml 文件中添加 MySQL+MyBatis 的依赖(Mybatis Generator 的前置条件)。      mysql     mysql-connector-java     ${mysql.version}        org.mybatis.spring.boot     mybatis-spring-boot-starter     2.2.2  复制代码
  添加完成后,一定要执行一次 Maven 重载(见下图),确保 MyBatis 的依赖加载完毕后再执行第二步。
  否则下一步可能不通过,但又得不到任何错误提示。不要问我为什么,踩过坑后痛苦的领悟。
  添加完成后,可以通过 Maven 插件来生成代码,也可以通过 Java 代码来生成代码,这里以 Maven 插件的形式来演示。Java 代码的形式可参照 Mybatis Generator:
  mybatis.org/generator/r…
  第二步,在 pom.xml 的 MyBatis Generator 插件,先来看一下整体的结构图,注意是在 build plugins 下节点下添加。
  首先是 MyBatis Generator 插件,目前最新版是 1.4.0,我们采用上一个稳定版本 1.3.7,稳一点。org.mybatis.generator mybatis-generator-maven-plugin 1.3.7 复制代码
  只添加插件还不够,还需要对其进行配置,我们使用 configurationFile 元素来指定一个配置文件 mybatis-generator-config.xml:src/main/resources/mybatis-generator-config.xml 复制代码
  来看一下 mybatis-generator-config.xml 的内容。                                                                                                                                                                                                                                                                                   
复制代码配置文件至少得包含一个contextcommentGenerator 用来配置生成的注释jdbcConnection 用来链接数据库javaTypeResolver 配置 JDBC 与 Java 的类型转换规则javaModelGenerator 配置 po 生成的包路径和项目路径sqlMapGenerator 配置 mapper.xml 文件生成的目录javaClientGenerator 配置 mapper.java 文件生成的目录一个 table 对应一张表,如果想同时生成多张表,需要配置多个 table   更多配置信息可以参照下面这篇文章:   juejin.cn/post/684490…   由于数据库表可能会发生变动,因此我们需要追加一个配置 true,允许覆盖旧的文件。为了防止我们编写的 SQL 语句被覆盖掉,MyBatis Generator 只会覆盖旧的 po、dao、而 *mapper.xml 不会覆盖,而是追加。   Mybatis Generator 需要链接数据库,所以还需要添加数据库驱动依赖,就像这样: mysql mysql-connector-java ${mysql.version} 复制代码   这样就会显得比较冗余,因为我们之前添加过了。好在 Maven 提供了 includeCompileDependencies 属性,可以让我们在插件中引用之前添加的依赖。true 复制代码   到此为止,mybatis-generator-maven-plugin 就算是配置完成了,完整内容如下所示: org.mybatis.generator mybatis-generator-maven-plugin 1.3.7 src/main/resources/mybatis-generator-config.xml truetrue 复制代码   配置完成后可以双击运行 Maven 的插件 Mybatis Generator,没有问题的话,可以看到生成后的文件。   二、使用 MyBatis-Plus 的 AutoGenerator   MyBatis-Plus(简写 MP)是 MyBatis 的增强工具,官方宣称 MP 和 MyBatis 的关系就好像魂斗罗中的 1P 和 2P,可谓好基友,天下走。   AutoGenerator 是 MyBatis-Plus 推出的代码生成器,可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,比 Mybatis Generator 更强大,开发效率更高。   通过前面的体验,想必大家确实感觉到了 Mybatis Generator 的繁琐,接下来,我们来体验一下 AutoGenerator,对比过后,大家心里就有答案了。   第一步,在 pom.xml 文件中添加 AutoGenerator 的依赖。 com.baomidou mybatis-plus-generator 3.4.1 复制代码   第二步,添加模板引擎依赖,MyBatis-Plus 支持 Velocity(默认)、Freemarker、Beetl,这里使用默认的 Velocity 引擎。 org.apache.velocity velocity-engine-core 2.3 复制代码   第三步,进行全局配置。// 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setAuthor("沉默王二"); gc.setOpen(false); gc.setDateType(DateType.ONLY_DATE); gc.setSwagger2(true); gc.setIdType(IdType.AUTO); 复制代码   第四步,配置数据源。// 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://ip:3306/codingmoretiny02?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("codingmoretiny02"); dsc.setPassword("123456"); 复制代码   第五步,配置包。// 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("top.codingmore.mpg"); 复制代码   更多配置项可以到官方查看:   baomidou.com/pages/06157…   示例代码示例如下所示: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("沉默王二"); mpg.setGlobalConfig(gc); DataSourceConfig dsc = new DataSourceConfig(); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); mpg.setDataSource(dsc); mpg.execute(); } } 复制代码   再来看一下运行后的效果,可以看到数据库表对应的 controller、service、entity、mapper 等等全有了——爽歪歪:   三、总结对比   对比 Mybatis 的 Generator 和 MyBatis-Plus 的 AutoGenerator,就可以得出这样一条结论:后者的配置更简单,开发效率也更高,功能也更强大——可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码。   MyBatis-Plus 的确配得上 Plus 啊,确实优秀。   作者:沉默王二   链接:https://juejin.cn/post/7064387392152535047

CBA新赛季10日重启经过五个多月的漫长等待属于篮球迷的季节终于到来20222023赛季中国男子篮球职业联赛(CBA)将于本月10日在杭州开启常规赛第一阶段的九轮比赛将以赛会制落址黄龙体育中心和杭州市体人在低谷,最好的活法(看完醒悟)约翰肖尔斯在许愿树一书中说,没有不可治愈的伤痛,没有不可结束的沉沦。所有失去的,会以另一种方式归来。是的,岁月会眷顾每一个人,我们想要的,只要认真努力和等待,岁月都会如数馈赠给我们李梦的两难选择明年的亚洲杯亚运会任务OR进入WNBA?根据媒体人10月5日最新消息,中国女篮球员李梦再次获得了美国WNBA联赛球队邀请洛杉矶火花队开出的新合同诚意满满。问题是,WCBA和WNBA的赛程不冲突,但WNBA赛程跟国家队的集盘点互联网行业的6大岗位,欢迎来入坑互联网行业是当前大学生择业或其他想转行的最热门的方向之一,在一二线大城市中,就有很多互联网企业,像腾讯,阿里,百度,今日头条都是典型的互联网公司,相比其它传统行业,互联网的薪资一枝钮文新华尔街再现暴脾气美联储还敢继续暴力加息吗中国经济周刊首席评论员钮文新华尔街的暴脾气不仅体现在制造金融风险的能力,同时也体现在毫不手软地洗劫一切可被洗劫的金钱。现在,它们又多了一个展示点对抗美联储。目前,已经有多家华尔街金242超越自身极限的挑战自我要不得,由某大企业副主席去世说起今天早上看一个新闻,华为某BG总裁,因突发疾病去世。根据公开资料,丁耘,华为技术有限公司监事运营商BG总裁。丁耘先生出生于1969年,毕业于东南大学,硕士。1996年加入华为,历任朱丹从浙江一姐到滚出主持界,她究竟做错了什么?朱丹是中国大陆知名的主持人演员歌手,更是被大众赐名为浙江一姐。朱丹的成名之路实属不易。18岁那一年,朱丹进入大学,比起同龄的同学,朱丹的大学生活忙得不可开交。下课铃声一响,朱丹就冲蒋丽莎自爆将与陈浩民离婚,宣萱苦等他18年,他无辜答应可以离婚日前,蒋丽莎在直播间爆料,陈浩民在国庆期间,不顾妻儿独自去快乐潇洒,于国庆后与其离婚。陈浩民则答应说可以离婚。前天,两人又在直播间营业。陈浩民是渣男,历来已久的事了。曾经的我被段誉潘长江晚节不保,他那嫁给10亿富豪的女儿潘阳,如今过得如何?文李培树编辑孙大圣潘长江晚节不保了。他在2022年8月3号转发的只有一个中国动态到现在点赞数量都没到一千,再随手翻一翻他其他微博下的评论,会发现大家都在刷潘嘎之交和假酒梗以示嘲讽。7位过气艺人现状有人网上卑微求工作,有人哭诉穷到只剩100万娱乐圈更新换代太快,许多艺人曾经也是红极一时,但在风头过去之后,就难以回到当初的热度,也因此被贴上了过气的标签。下面就盘点一下娱乐圈的7位过气艺人,有的无戏可拍,有的在高龄还要奔波曾经惊艳众人,现今却灵气全无,这些女明星的变化也太大了想要在演艺圈发展,必须要有一个精致的容貌,否则就没有辨识度,拿不到资源,逐渐成了过气艺人,失去昔日的辉煌。为了维持这虚无的辉煌,很多明星不惜在脸上动刀,或者长期带着浓妆生活,进而毁
不老女神张钧甯张钧甯,人称台湾第一气质美女,确实美到没朋友,美到心动。她的身材比例堪称完美,印象中大家都喜欢称她为九头身美女。干练的发型,搭配黑色的薄衫,成熟中隐约可见的高贵气质。无论身穿何种衣50岁女人,哪怕没有身材焦虑,也别碰这4个穿搭雷区,容易显老如果说18岁是盛开在春天的娇艳桃花,那么,50岁的美,就是傲然绽放在寒冬的腊梅,在黑夜中盛开的红玫瑰。50岁是最有气质的年龄,因此,穿搭一定要以气质和质感为主题。不过哪怕你身材再好同样是饮料,我们为什么喝得下10瓶啤酒,却喝不下10瓶水?喝得下10瓶啤酒,却喝不了10瓶水,是一个伪命题吗?这就得看啤酒的成分和水的成分了。人之所以觉得喝水困难,是因为驱动力不足,如果桌上拍了100万,几乎所有人都喝得下去,还有的人认为春天,孩子挑食长得慢!试试这6道长高菜营养全面,好吃下饭春天,孩子挑食长得慢!试试这6道长高菜营养丰富,好吃又下饭做妈妈的都希望自己的孩子能茁壮成长,也会把最好的爱给孩子,呵护孩子成长,但是,如果遇到孩子挑食是一件很麻烦的事情,尤其是挑为啥孩子不好好吃饭?多半是家长造成的,要及时自查,别一错再错导语为啥孩子不好好吃饭?多半是家长造成的,要及时自查,别一错再错养孩子实在不容易,就说孩子吃饭这件事,经常看到家长为了孩子好好吃饭而伤脑筋,很多时候都是好说不行,只能来硬的,而孩子最适合春天的10道家常菜,做法简单好吃又营养,有条件要多吃春日生活打卡季大家好,欢迎大家来到我的自媒体,我是美食作者锦绣V山东,现在是春暖花开,万物复苏时节,春天是一个生长的季节,也是孩子长个的黄金期,家长们在这个季节一定不能忽视,要多给行摄草原丨冬日草原限定莫兰迪色系骏马图高级感从不是刻意的装饰,而是自然间流露的真实。俗话说,一九二九不出手,三九四九冰上走。当骏马遇见寒冬将会带来怎样的视觉冲击?此次,摄影师来到锡林郭勒盟正蓝旗饮马井嘎查路遇一群野性十耳目一新虢筱非笔下的洞庭湖画作编者按虢筱非,湖南日报社从事媒体工作。利用业余时间环洞庭湖行走,踏遍了湖边汊港垸堤,亲睹了湖上阴晴雨雪变幻。洲滩树草垸堤农舍烟水舟船撷之成画,画作清新雅致,生活气息扑面而来。何事远王曼昱爆冷输球原因遭曝光!或被故意针对晃眼,末节可能是低血糖WTT新加坡大满贯女单决赛,王曼昱遭陈梦爆冷无缘金牌,其实爆冷这2个字,并不完全恰当,毕竟国乒的内战不存在爆冷一说,但这毕竟是世界级比赛,王曼昱在此前还2次横扫队友陈梦,爆冷来形容张柏芝小儿子正面照流出,粉粉嫩嫩很可爱,网友所以父亲是谁?张柏芝和谢霆锋当年也是一对羡煞旁人的金童玉女,后来因为陈冠希事件,两个人的感情有了裂痕。娱乐圈本身就是时刻暴露在大众视野的,两个人的事情也是闹得沸沸扬扬,而离婚影响最大的还是孩子,太阳能量究竟来自何处?科学家们给出了答案因为太阳每时每刻都在向外释放巨大的能量,所以地球上的人们可以利用太阳的能量来生存和发展。在人类历史的漫长岁月中,太阳的光和热丝毫没有减弱,这既令人愉快,又令人费解。太阳哪里来的这么