目录
一开始本来我是想用Free Mybatis plugin的,结果搜不到,然后就发现了这货,一番体验之后是真的舒爽啊!!!

这个功能我是在太爱了,在使用mybatis框架的时候,你还在繁琐的找和接口对应的mapper.xml、SQL语句吗?还在繁琐的找和mapper.xml对应的接口、方法吗?还在繁琐的找注入给serviceImpl的接口吗?
这也太麻烦还巨浪费时间了!!!,而MybatisX插件提供了跳转的功能,通过点击“愤怒的小鸟”就可以跳转到对应的地方。
我敲了个简单项目来演示:

跳到了mapper.xml(点第二只小鸟会跳到id为findAll所对应的方法)

其实很久以前我就非常头疼写一堆dao、service、serviceImpl、mapper.xml、pojo的重复性工作,一直希望有那么一个工具帮我干这些重复性工作,而MybatisX可以根据表自动生成且模板可自定义。
最好搭配以下一起食用:
- SpringBoot
- MybatisPlus(可选,但是不选,效果就没有那么好了)。
第一步: 连接数据源。


注意:时区要写对,不然会犯病(时区在哪配置?上面"测试连接"要是测出了时区问题,你可以按照指引去做配置,改成Asia/Shanghai即可)。
第二步: 点batisx-generator,配置自动生成代码。


- module path:模块路径,此处填写项目所在路径。
- base package:填写项目的包(你需要把dao、service、serviceImpl、mapper.xml、pojo这些生成在哪个包下)
- encoding:编码,使用UTF-8即可。
- base path:就是base package的前段(比如,base path+base package=src/main/java/com/sangeng)
- relative package:实体类所在的包名,默认是domain。
- extra class suffix:生成的实体类后面会加上此内容。例如,上图中本来要生成的实体类为User的,然后我们在extra class suffix框里敲上Test,最后生成的实体类为UserTest。
- ignore field prefix(前缀):数据库中有字段名为name的,若ignore field prefix框里敲上na,则生成的实体类中对应的属性名为me,省略了na。
- ignore table prefix:数据库表名为mybatis_db,若ignore tableprefix框里敲上my,则生成的实体类的名字变为batis_db(当然,要是你设置了extra class suffix,那么生成的实体类后面会加上指定内容)。
- superClass:生成实体类继承的父类。

- annotation选项:生成的代码中是否加上注解(例如,@TableName等注解)。None为没有注解,其它为字面意思。
因为我只是做个演示,没有使用MybatisPlus框架,也没有service、serviceImpl,所以是这样配置的,要是想要有service和serviceImpl,annotation可以勾选Mybatis-Plus3。
- options选项:经过尝试后,作用大致如下:
- comment:可能和生成java doc comments有关,但试了下,好像没有效果。
- toString/hashCode/equals:是否生成相应的方法,建议勾选。
- Lombok:勾选后实体类自动添加Lombok的@Data注解,建议勾选(要先安装Lombok插件哦)
- Actual Column:勾选后,生成的实体类属性名和表中字段名大小写会保持一致。例如,表中有字段Name,勾选该选项后生成的属性名也为Name,未勾选则为name,建议根据实际需要勾选。
- Actual Column Annotation:是否对所有属性名都加上注解标明对应字段,例如@TableName,建议勾选。
- JSR310:Data API:是否使用新标准的时间日期API,包括 Instant、Clock、LocalDateTime、DateTimeFormatter、ZonedDateTime 以及替换 Calendar 的 Chronology 等类。建议勾选(新标准的时间日期API比老版本友好多了,强烈建议使用新版时间日期API)
- template选项:生成mapper、service等相关代码所使用的模板。
如果没有使用MybatisPlus,可以选择default-empty模板或自定义其它模板—默认位于:临时文件和控制台–>Extensions–>MybatisX(就在idea左下边)
对应文件夹内即为相关模板的具体配置文件。如果需要重置,右键template文件夹点击重置默认扩展即可。
- 最底下的表:显示所要生成文件的类型、模块路径、基本路径、生成后位于哪个包(默认为mapper)。后面3个列都可以修改值(以符合项目需求)。这些也可以在对应的template的文件夹内的
.meta.xml中进行修改。
补充:
要是使用了Mybatis-Plus框架这样配置即可:

第三步: 点Finish,完事儿!!!
注意:以上操作是敲定了user表,生成的是user表的,要是还要生成其它表的,一样的套路即可。
查看自动生成的代码:

第一步: 要有对应接口的mapper.xml—可以把光标放在接口名上右键生成:

第二步: 根据提示敲好方法名(或者自定义,但是就只会生成声明,不会生成sql语句)–>右击–>show context actions(显示上下文操作)–>generate mybatis sql。
快捷:光标放在方法名上–>Ctrl+Enter–>generate mybatis sql。

这个专栏主要是关于应届生求职工作相关的文章,提供一些建议和思考后续持续更新!后面章节持续更新计算机专业毕业生求职的整体总结和概括。求职时间首先注意几个求职时间节点:提前批:秋招提前批,互联网大厂招聘优秀高校优秀学生开设的招聘活动,都是优质岗位,有发展的岗位,所有学生都可以尝试。时间段:7月——8月,待遇好,招聘周期短,提前拿到大厂sspoffer。秋招:正式批招聘,所有企业全部开放招聘入口,是广大应届毕业生求职的最佳时机,岗位多,hc也多,大家把握住机会积极求职。时间段:8月——12月,金九银十,九十月比较集中。春招:正式批招聘,是秋招的补录,考研失利的学生的招聘,也是所有企业开放招聘,不过既
之前在DSL中一次问卷调查中,收集到如下几个和搜索类型相关的问题。Q1:麻烦讲一下es常用的查询关键词,及使用场景,比如term、match、should、filter等等,谢谢老大......Q2:讲下查询term,match,match_pharse,operator,mget,multi_match等的用法和区别?Q3:term、match、phrase、boolquery等常用语法,及对不同类型数据字段的支持。在分词场景下的区别?Q4:fuzzy查询的fuzziness参数不同取值,minimumshouldmatch不同取值负数,百分比等…...Q5:希望可以通俗一点。可以有视频和文
1、Elasticsearch版本升级常见问题问题1:我现在集群是:5.X、6.X、7.X,要不要升级?问题2:版本跨度这么大,如何升级?7月6日,读者凌晨00:30留言:“怎么不出升级的文章呢?需求比较迫切,所以,就有了今天的文章。我们系统得敲一遍,让大家明白如何升级。2、Elasticsearch要不要升级?Elasticsearch版本迭代历史如下:Elasticsearch的特点就是一个字快!速度快,PB级别数据全文检索秒级响应,这是用户群体大的根因,不展开论述。版本更新快,几乎每个月都更新一个小版本,大版本基本2年左右升级一次。所以,市面上的各家公司在使用Elasticsearch过
作者简介秋石,携程数据仓库专家,关注大数据、数据仓库、数据治理等领域;九号,携程数据技术专家,关注数据仓库架构、数据湖、数据治理;魁伟,携程资深数据工程师,关注实时&离线大数据产品及技术。一、实时数仓当前,企业对于数据实时性的需求越来越迫切,因此需要实时数仓来满足这些需求。传统的离线数仓的数据时效性通常为T+1,并且调度频率以天为单位,无法支持实时场景的数据需求。即使将调度频率设置为每小时,也仅能解决部分时效性要求较低的场景,对于时效性要求较高的场景仍然无法优雅地支撑。因此,实时数据使用的问题必须得到有效解决。实时数仓主要用于解决传统数仓数据时效性较低的问题,通常会用于实时的OLAP分析、实时
1.什么是MybatisX? MybatisX是一款基于IDEA的快速开发插件,方便在使用mybatis以及mybatis-plus开始时简化繁琐的重复操作,提高开发速率。 2.使用MybatisX的好处节省大量持久层代码开发时间强大的功能为业务编写提供各类支持配置简单,告别各类复杂的配置文件 3.如何使用MybatisX? 1.创建一个简单的数据库 2.创建一个简单的Springboot工程 3.在pom.xml文件中引入mybatis-plus依赖pom.xmlcom.baomidoumybatis-plus-boot-starter3.5.1
文/ 韩彬(微信公众号:量子论)用ChatGPT写文章属于它的基本操作了,现在我们看看如何使用ChatGPT编写论文级的文章。论文的编写步骤通常有这四步:1、定主题2、写提纲3、填内容4、改标题(可选项)这几点其实可以运用于我们对ChatGPT的操作。这里面有个小技巧,建议你先用英文问,这样的答案会更加准确,然后你再让ChatGPT翻译成中文。好了,我们开始实战操作。举个例子,我想写篇关于ChatGPT演进的论文。你可以在ChatGPT里这样提问:写一篇关于ChatGPT演进的论文提纲接下来开始写正文。写第一点时,你可以说:请完整撰写“研究背景及目的”的内容你也可以这样说,请以人工智能专家口吻
系列文章目录JavaScript知识梳理,收录了web前端面试95%以上的高频考点,满满的干货。给你做一个高效的知识梳理,为你的面试保驾护航!内容参考链接HTML&CSS篇HTML&CSS篇JavaScript篇(一)JavaScript篇(一)【JS的三座大山】原型和原型链、作用域和闭包、异步JavaScript篇(二)JavaScript篇(二)【JS异步进阶】JavaScript-Web-API篇(一)JavaScript-Web-API篇(一)DOM、BOM、事件JavaScript-Web-API篇(二)JavaScript-Web-API篇(二)AJAX、存储HTTP篇HTTP篇性
“本期技术干货,我们邀请到了小米机器人实验室工程师任赜宇,和大家分享在机器人力控方法中最为经典的一类控制方法,即阻抗与导纳控制。”一、前言在传统机器人尤其是工业机械臂的应用中,机器人通常都是运行在固定的位置轨迹下,再加上机器人的本体设计多由高强度的铝合金以及高减速比的谐波减速器构成,因此机器人多呈现“冷冰冰的钢铁机器”之感,机器伤人的意外事件也时有发生,如下视频所示。为了避免上述的意外事件发生,工程师会在机器人的控制器中引入各类力控算法,让机器人运行在固定位置轨迹的同时,能动态地根据外部力调整自己的期望位置与速度,达到“刚中带柔”的运动状态,有效保护人类安全,防止意外发生。这篇文章将会着重介绍
随着互联网的迅猛发展,网络早已融进人们日常生活的方方面面,我们的个人隐私在互联网时代几乎已经不是秘密。在数据时代,如何保护自己的隐私呢?差分隐私又是什么?小编用一篇文章带领大家了解什么是差分隐私,背后技术原理以及如何在MindSpore中实现差分隐私。如果大家看不懂也没关系,本周末晚八点(2020.6.720:00),MindSpore抖音直播间(抖音号:MindSpore梯度森林会)将会为大家详细讲解!差分隐私的背景20世纪90年代,美国马萨诸塞州发生了著名的隐私泄露事件。该州集团保险委员会(GIC)发布了“经过匿名化处理的”医疗数据,用于公共医学研究。在数据发布之前,为了防止隐私泄露问题,
把公开发布会改成了闭门沟通会,百度“文心千帆”大模型平台没能享受到“文心一言”的焦点待遇,低调发布了。从性能看,主要面向B端客户的文心千帆较文心一言更重量级:不仅涵盖了文心一言的能力,还提供全套文心大模型以及相应的开发工具链。准确地说,文心千帆更符合百度创始人李彦宏提出的愿景,“作为底层平台,让千行百业实现智能化变革”。目前,文心千帆的收费标准已经出炉,调用单价为0.012元/千tokens,比ChatGPT更便宜。不过,在文心一言多次翻车的背景下,文心千帆的能力难免令外界担忧。百度文心大模型的商业化步伐未免太急了。百度闭门出“千帆”百度对全网放了鸽子,原定于3月27日公开举行的“文心一言云服