保健励志美文体育育儿作文
投稿投诉
作文动态
热点娱乐
育儿情感
教程科技
体育养生
教案探索
美文旅游
财经日志
励志范文
论文时尚
保健游戏
护肤业界

SpringBootMybatisPlusClickHous

  项目场景:
  ClickHouse操作基于Mybatispuls源码扩展开发。解决ClickHouse的修改和删除SQL操作与Mysql不相同。基于Mybatispuls:
  update、updateById、delete函数
  1、SqlMethodDiv。java文件枚举类,对sql脚本定义packagecom。demo。infrastructure。injector。enums;authorliuxiansongpublicenumSqlMethodDiv{删除DELETEBYID(deleteByIdClickHouse,根据ID删除一条数据,),逻辑删除LOGICDELETEBYID(deleteByIdClickHouse,根据ID逻辑删除一条数据,),修改条件主键UPDATEBYID(updateByIdClickHouse,根据ID选择修改数据,),修改条件主键UPDATE(updateClickHouse,根据whereEntity条件,更新记录,);privatefinalStringmethod;privatefinalStringdesc;privatefinalStringsql;SqlMethodDiv(Stringmethod,Stringdesc,Stringsql){this。methodmethod;this。descdesc;this。sqlsql;}publicStringgetMethod(){returnmethod;}publicStringgetDesc(){returndesc;}publicStringgetSql(){returnsql;}}
  2、UpdateByIdClickHouse。java类文件,继承AbstractMethod重载injectMappedStatementpackagecom。demo。infrastructure。injector。methods;importcom。baomidou。mybatisplus。core。injector。AbstractMethod;importcom。baomidou。mybatisplus。core。metadata。TableInfo;importcom。baomidou。mybatisplus。core。toolkit。sql。SqlScriptUtils;importcom。demo。infrastructure。injector。enums。SqlMethodDiv;importorg。apache。ibatis。executor。keygen。NoKeyGenerator;importorg。apache。ibatis。mapping。MappedStatement;importorg。apache。ibatis。mapping。SqlSource;authorliuxiansongdate20210520desc通过MybatisPlus源码扩展修改publicclassUpdateByIdClickHouseextendsAbstractMethod{OverridepublicMappedStatementinjectMappedStatement(Classlt;?mapperClass,Classlt;?modelClass,TableInfotableInfo){SqlMethodDivsqlMethodSqlMethodDiv。UPDATEBYID;finalStringadditionaloptlockVersion(tableInfo)tableInfo。getLogicDeleteSql(true,true);StringsqlString。format(sqlMethod。getSql(),tableInfo。getTableName(),this。sqlSet(tableInfo。isWithLogicDelete(),false,tableInfo,false,ENTITY,ENTITYDOT),tableInfo。getKeyColumn(),ENTITYDOTtableInfo。getKeyProperty(),additional);SqlSourcesqlSourcelanguageDriver。createSqlSource(configuration,sql,modelClass);returnthis。addInsertMappedStatement(mapperClass,modelClass,sqlMethod。getMethod(),sqlSource,newNoKeyGenerator(),null,null);}SQL更新set语句paramlogic是否逻辑删除注入器paramew是否存在UpdateWrapper条件paramtable表信息paramalias别名paramprefix前缀returnsqlOverrideprotectedStringsqlSet(booleanlogic,booleanew,TableInfotable,booleanjudgeAliasNull,finalStringalias,finalStringprefix){StringsqlScripttable。getAllSqlSet(logic,prefix);if(judgeAliasNull){sqlScriptSqlScriptUtils。convertIf(sqlScript,String。format(s!null,alias),true);}if(ew){sqlScriptNEWLINE;sqlScriptSqlScriptUtils。convertIf(SqlScriptUtils。unSafeParam(UWRAPPERSQLSET),String。format(s!nullands!null,WRAPPER,UWRAPPERSQLSET),false);}sqlScriptconvertSet(sqlScript);returnsqlScript;}去掉sest和suffixOverrides,代表去掉第一个逗号paramsqlScriptreturnpublicstaticStringconvertSet(finalStringsqlScript){returntrimprefixsuffixOverrides,sqlScripttrim;}}
  3、ClickHouseSqlInjector。java注册方法,继承DefaultSqlInjectorpackagecom。demo。infrastructure。injector;importcom。baomidou。mybatisplus。core。injector。AbstractMethod;importcom。baomidou。mybatisplus。core。injector。DefaultSqlInjector;importcom。demo。infrastructure。injector。methods。DeleteClickHouse;importcom。demo。infrastructure。injector。methods。UpdateByIdClickHouse;importcom。demo。infrastructure。injector。methods。UpdateClickHouse;importjava。util。List;注册方法authorliuxiansongpublicclassClickHouseSqlInjectorextendsDefaultSqlInjector{OverridepublicListgetMethodList(Classlt;?mapperClass){这里很重要,先要通过父类方法,获取到原有的集合,不然会自带的通用方法会失效的ListmethodListsuper。getMethodList(mapperClass);添加自定义方法类methodList。add(newUpdateByIdClickHouse());methodList。add(newUpdateClickHouse());methodList。add(newDeleteClickHouse());returnmethodList;}}
  4、编写SuperMapper继承BaseMapper,让所有Mapper继承extends、最新面试题整理好了,点击Java面试库小程序在线刷题。packagecom。demo。domain。mapper;importcom。baomidou。mybatisplus。core。conditions。Wrapper;importcom。baomidou。mybatisplus。core。mapper。BaseMapper;importorg。apache。ibatis。annotations。Param;importjava。io。Serializable;authorliuxiansong自定义方法SuppressWarnings(all)publicinterfaceSuperMapperTextendsBaseMapperT{returnDescription:删除并填充删除人信息param:id主键idauther:zpqdate:2020111011:47上午booleanupdateByIdClickHouse(Param(et)Tentity);returnDescription:删除并填充删除人信息param:id主键idauther:zpqdate:2020111011:47上午booleanupdateClickHouse(Param(et)Tentity,Param(ew)WrapperTupdateWrapper);主键删除paramidreturnintdeleteByIdClickHouse(Serializableid);}
  5、单元测试看效果
  SpringBoot基础就不介绍了,推荐下这个实战教程:https:github。comjavastacksspringbootbestpracticepackagecom。demo。test;importcom。demo。DemoClickHouse;importcom。demo。domain。dataobject。User;importcom。demo。domain。service。UserService;importcom。demo。infrastructure。util。page。PageResult;importorg。junit。Test;importorg。junit。runner。RunWith;importorg。springframework。beans。factory。annotation。Autowired;importorg。springframework。boot。test。context。SpringBootTest;importorg。springframework。test。context。junit4。SpringRunner;RunWith(SpringRunner。class)SpringBootTest(classesDemoClickHouse。class)publicclassUserMapperTest{AutowiredUserServiceuserService;TestpublicvoidfindByIdTest(){UserbyIduserService。findById(1);System。out。println(查询用户ID1信息:byId);}TestpublicvoidpageTest(){UserusernewUser();Integerpage1;Integerlimit2;PageResultUseruserListuserService。page(user,page,limit);System。out。println(查询用户信息分页:userList);}TestpublicvoidcreateTest(){UserusernewUser();user。setUserName(张三);user。setPassWord(123);user。setPhone(12312222);user。setEmail(326427540qq。com);userService。create(user);System。out。println(创建:user);}TestpublicvoidupdateTest(){UserusernewUser();user。setId(1395347901827317761l);user。setUserName(小李飞刀);user。setPassWord(123);user。setPhone(12312222);user。setEmail(326427540qq。com);userService。update(user);System。out。println(创建:user);}TestpublicvoiddeleteTest(){userService。delete(1l);System。out。println(删除:1l);}}

苦逼的六年级作文六年级了,马上就要结束我的小学生活了,也是时候回过头来看看自己了。走在大街上,看见旁边的小朋友们谈天畅地说一些幼稚的话,想到自己小时候那么贪玩、幼稚,就想到现在是多么的劳累。……难忘的友情记叙文作文作文是由文字组成,经过人的思想考虑,通过语言组织来表达一个主题意义的文体。下面是小编收集整理的难忘的友情记叙文作文,希望对您有所帮助!【篇一:难忘的友情】岁月穿梭,转眼已……中国篮坛名将病逝,篮协发文悼念,姚明难过,沉痛哀悼这个夏天对于中国篮球来说很不平静。就在中国男篮为世预赛、亚洲杯和亚运会三项比赛如火如荼进行集训之际。近日中国篮协却公布了一个突发噩耗,让广大的球迷朋友们感到非常的遗憾和可……国企合规风险管控的现状以及改善策略探讨一、当前国有企业合规风险管控所存在的问题(一)国有企业缺乏完善的合规风险管控体系随着我国一带一路倡议的推进,国有企业不仅需要提升自身在国内的竞争优势,还要与国外的同……我跟妈妈逛书店作文400字今天是星期天,天气晴朗,妈妈带我去逛书店。我们来到新开张的鞍山书店。走进大厅,里面亮堂堂的,给人一种豪华舒适的感觉。书店分上下两楼,底楼有文具超市、音响光碟、电子产品等五……赏梅300字作文欣赏星期日,妈妈带我去雨花台的梅岗赏梅。在去梅岗的路上,我就闻到了一股沁人心脾的清香。站在小山上远眺梅岗,那些红梅,看上去就像一片灿烂的朝霞,那些白梅,又像是一层白雪覆盖在梅……企业给职工提供的免费工作餐,增值税?个人所得税?企业所得税?问题好多企业都给上班的职工提供了免费的中午工作餐,那么问题来了,增值税是否需要视同销售缴纳增值税?是否需要并入员工工资薪金申报个人所得税?企业所得税是否需要视同销售?企业……一颗精子的自白内卷从发射开始【写在后面】每一颗精子的使命从来都不是确定的,因为从诞生开始便充满了不确定性,这也意味着每一颗精子都对未来充满着期望。它们要在千万兄弟姐妹中脱颖而出,就需要有强健的体魄和……走自己的路,作自己的诗有人说我的诗耐读耐品,有人说我的诗清新脱俗,有人说我的诗压抑忧郁,有人说我的诗如黛玉葬花;我说我有我的风格,我说我有我的情调,我说我的经历你……那个夏天,那个胆怯的身影作文又是一年盛夏来临,林荫道枝繁叶茂,显得美丽可爱,阳光透过班驳的树叶缝隙,像一片片碎银铺在地上;串串紫藤挨挨挤挤,仿佛在炫耀着,招揽着过往的小朋友,此情此景让我想起了去年的那个夏……初一日记这就是火锅早上起来,又开始上一天的事情,感觉生活好像没有意义。总是重复着上一天的事情。就当我上完兴趣班的时候,回家的路上,雨点淅淅沥沥打到我的脸上。舒服极了,可是美中不足的事情就是,有一……在珍惜中成长作文在珍惜中成长作文1成长不是慢慢的,成长都是一夜之间的。在这一夜之前,成长就像是竹子的生长,缓慢地行进着。直到我们懂得了珍惜,成长就在一夜之间,长成了一片竹林。在我们……
关于大象的叙事英语作文导语:象有两只大耳朵,平常可以听见大草原上的任何风吹草动,也可以用来赶苍蝇。下面小编给大家分享关于大象的英语作文,欢迎阅读!篇一、关于大象的叙事英语作文Elephanti……我们用实际行动保护环境作文700字大家都知道,环保是重要的事情,上至中央领导,下至平民百姓都非常关注。可在现实生活中,我们能为环保做些什么呢?星期天,妈妈和我一起来到市场买菜,付过钱后,菜档老板拿着塑料袋……烟草危害知多少?这件事情要趁早!!!当今世界死于烟草、和烟草相关的疾病的人数,已排在了第一位。尼古丁、CO、焦油、2萘胺、1苯并蒽、4苯并芘点燃的香烟中,这些高致病性的有害物质无处不在,已成为致癌和引发、恶化多种……人老腿先老?60岁后留意5个下肢疾病信号,做好4点保护下肢健人到了中老年之后,身体最快衰老的部位就包括腿部。腿部作为我们身体行走的重要器官,保护腿部的健康非常重要。只有将腿部保护好,才会为以后的身体健康打下良好的基础,有效地减少腿部发生……长期艾灸真的好吗?不仅养生还可以长寿?5大养生功效很神奇随着人们的养生防病意识提升,越来越多的中医养生保健手段受到了追捧。像艾灸、针灸、推拿、拔火罐等等,都是当下中医馆的热门项目。其中,艾灸的操作最为简便,因此成为了不少养生爱好者的……每天学习一味中药鹿茸补虚药之补阳药补虚药:凡以补虚扶弱,纠正人体气血阴阳的不足为主要功效,常用以治疗虚证的药物,称为补虚药,也称补益药或补养药。根据补虚药在性能、功效及主治方面的不同,一般又……家里有白酒的要注意,牢记4不碰正确喝好酒,别不当回事家里有白酒的要注意,牢记4不碰正确喝好酒,别不当回事无酒不欢、无酒不成席,其实任何场景都在提醒大家酒是不可或缺的饮品。不管是逢年过节,还是平时自饮、待友都要用到白酒……李时珍的养生秘诀,千金难买,非常实用,建议收藏分享中国的中医药和中医文化有几千年历史了,诞生出很多的医学专家,例如李时珍。李时珍是中国古代伟大的医学家、药物学家,李时珍曾参考历代有关医药及其学术书籍八百余种,结合自身经验……中国羽协新规惹众怒!林丹都达不到要求,球迷这不是在选秀最近几天,中国羽毛球协会发布了一份关于羽毛球全国青少年训练营的公告,在这份公告中,中国羽协对于参加这次训练营人员的一些身体素质方面提出了要求。但是当网友们观看公告内容时,却纷纷……奋进新征程建功新时代野洞河漂流景区建设如火如荼预计6月份开漂日前,记者探访黄平县野洞漂流景区,项目建设如火如荼,预计在6月份竣工验收并对外营业。在景区施工现场,挖掘机、搅拌机等设备忙个不停,工人们正在紧锣密鼓的施工。据了解,该项目……爸爸妈妈她不是我小学作文500字午后,阳光暖融融的我趴在桌子上,展开幻想的翅膀幻想中,我坐在云彩上,眼前出现了一个跟自己一模一样的小女孩,她自我介绍说,她是科学家克隆的我哎呦!我大叫一声,原来掉到椅子下面了。……浙江农村第一村,村民年收入超过15万,整个村落为国家4A景区村落,作为我国最基础的行政单位,如毛细血管般密密麻麻分布在中华大地上。在我国的民富第一省浙江省,人均可支配收入仅次于上海,位列全国各省第一。并且,浙江从城市到乡村的区域差距较小……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网