沧州三亚菏泽经济预测自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

SpringBoot整合MyBatisPlus实操

12月4日 飞虹塔投稿
  1。SpringBoot整合MyBatis1。1整合案例
  需求:整合SpringBoot和Mybatis,向数据库中查询数据。
  项目结构:
  1。1。1创建数据库和表创建数据库DROPDATABASEIFEXISTSCREATEDATABASEUSE创建表CREATETABLEmonster(idINTNOTNULLAUTOINCREMENT,ageINTNOTNULL,birthdayDATEDEFAULTNULL,emailVARCHAR(255)DEFAULTNULL,genderCHAR(1)DEFAULTNULL,nameVARCHAR(255)DEFAULTNULL,salaryDOUBLENOTNULL,PRIMARYKEY(id))CHARSETutf8;
  插入测试数据:
  1。1。2引入依赖
  在pom。xml中引入mybatis及相关的依赖!导入SpringBoot父工程parentspringbootstarterparentartifactIdgroupIdorg。springframework。bootgroupIdversion2。5。3versionparentdependencies!webstarterdependencygroupIdorg。springframework。bootgroupIdspringbootstarterwebartifactIddependency!mybatisstarterdependencygroupIdorg。mybatis。spring。bootgroupIdmybatisspringbootstarterartifactIdversion2。2。2versiondependency!mysql驱动,使用版本仲裁dependencygroupIdmysqlgroupIdmysqlconnectorjavaartifactIddependency!配置处理器dependencygroupIdorg。springframework。bootgroupIdspringbootconfigurationprocessorartifactIddependency!lombokdependencygroupIdorg。projectlombokgroupIdlombokartifactIddependency!springbootteststarterdependencygroupIdorg。springframework。bootgroupIdspringbootstartertestartifactIddependency!druid数据源,也可以使用默认的数据源dependencygroupIdcom。alibabagroupIddruidartifactIdversion1。1。17versiondependencydependencies1。1。3配置数据源
  在resourceapplication。yml中配置数据源,并完成SpringBoot项目启动测试spring:datasource:配置数据源url:jdbc:mysql:localhost:3306springbootmybatis?useSSLtrueuseUnicodetruecharacterEncodingUTF8username:rootpassword:123456driverclassname:com。mysql。cj。jdbc。Driverserver:port:9090
  创建配置类,设置Druid数据源:
  这里如果引入的依赖是druidstarter,可以直接在yml文件中配置packagecom。li。springboot。mybatis。importcom。alibaba。druid。pool。DruidDataSimportorg。springframework。boot。context。properties。ConfigurationPimportorg。springframework。context。annotation。Bimportorg。springframework。context。annotation。Cimportjavax。sql。DataSauthor李version1。0ConfigurationpublicclassDruidDataSourceConfig{ConfigurationProperties(spring。datasource)BeanpublicDataSourcedataSource(){DruidDataSourcedruidDataSourcenewDruidDataSource();returndruidDataS}}1。1。4指定mapper。xml路径
  在application。yml文件中配置mybatis,指定要扫描的mapper。xml文件的路径
  在ssm整合中,这一步也是在applicationContext。xml容器文件中指定mybatis:mapperlocations:classpath:mapper。xml指定要扫描的mapper。xml路径1。1。5代码实现
  (1)创建JavaBeanMonster。java,用于表映射packagecom。li。springboot。mybatis。importlombok。AllArgsCimportlombok。Dimportlombok。NoArgsCimportjava。util。Dauthor李version1。0DataNoArgsConstructorAllArgsConstructorpublicclassMonster{privateIprivateIprivateDprivateSprivateSprivateSprivateD}
  (2)创建mapper接口,用于声明方法packagecom。li。springboot。mybatis。importcom。li。springboot。mybatis。bean。Mimportorg。apache。ibatis。annotations。Mauthor李version1。0使用注解mapper,就可以将mapper接口对象注入容器Mapper除了使用注解,也可以直接指定要扫描的包publicinterfaceMonsterMapper{根据id查询数据记录publicMonstergetMonsterById(Integerid);}
  (3)在resourcemapper目录下创建接口对应的mapper。xml文件,实现声明的方法?xmlversion1。0encodingUTF8?!DOCTYPEmapperPUBLICmybatis。orgDTDMapper3。0ENhttp:mybatis。orgdtdmybatis3mapper。dtdmappernamespacecom。li。springboot。mybatis。mapper。MonsterMapper!配置getMonsterById方法selectidgetMonsterByIdresultTypecom。li。springboot。mybatis。bean。MonsterSELECTFROMmonsterWHEREid{id}selectmapper
  (4)进行测试:
  如果要写测试类,一定要写主程序packagecom。li。springboot。importcom。li。springboot。mybatis。bean。Mimportcom。li。springboot。mybatis。mapper。MonsterMimportorg。junit。jupiter。api。Timportorg。springframework。boot。test。context。SpringBootTimportjavax。annotation。Rauthor李version1。0SpringBootTestpublicclassApplicationTest{ResourceprivateMonsterMappermonsterM注入的实际上是它的代理类测试MonsterMapper接口是否可用TestpublicvoidgetMonsterMapper(){MonstermonstermonsterMapper。getMonsterById(1);System。out。println(monstermonster);}}
  测试结果:成功从数据库中获取信息。
  接下来的Service、Controller层和ssm没有多大区别,这里不再赘述1。1。6补充对mybatis的配置SpringBoot对mybatis的配置有两种方式:
  (1)使用传统方式配置,即使用mybatisconfig。xml。不过要先在application。yml文件中指定mybatis配置文件的路径。mybatis:configlocation:指定mybatisconfig。xml文件的路径
  (2)直接使用application。yml文件进行配置,例如:mybatis:typealiasespackage:com。li。springboot。mybatis。bean指定别名configuration:logimpl:org。apache。ibatis。logging。stdout。StdOutImpl指定标准的日志输出两种方式的选择:如果配置比较简单,可以在yml中直接配置如果配置内容较多,可以单独地做一个配置文件1。2注意事项和使用细节
  SpringBoot中日期默认是格林尼治标准时间,和中国标准时相差8小时,可以通过注解JsonFormat解决此问题:
  其中pattern表示日期格式,timezone表示时区,GMT是格林尼治时间2。SpringBoot整合MyBatisPlus2。1MyBatisPlus基本介绍
  MyBatisPlus官方文档MyBatisPlus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。强大的CRUD操作:内置了通用Mapper、通用Service,通过少量配置即可实现单表大部分CRUD操作,更有强大的条件构造器,满足各类需求。2。2整合案例
  需求:整合SpringBoot和MyBatisPlus,向数据库中查询数据。2。2。1创建数据库和表
  略,表结构同上。
  2。2。2引入依赖
  pom。xml文件中引入mybatisplusstarter和其他依赖。!导入SpringBoot父工程parentspringbootstarterparentartifactIdgroupIdorg。springframework。bootgroupIdversion2。5。3versionparent!引入必要依赖dependencies!webstarterdependencygroupIdorg。springframework。bootgroupIdspringbootstarterwebartifactIddependency!MyBatisplusstarterdependencygroupIdcom。baomidougroupIdmybatisplusbootstarterartifactIdversion3。4。3versiondependency!mysql驱动dependencygroupIdmysqlgroupIdmysqlconnectorjavaartifactIddependency!配置处理器dependencygroupIdorg。springframework。bootgroupIdspringbootconfigurationprocessorartifactIddependency!lombokdependencygroupIdorg。projectlombokgroupIdlombokartifactIddependency!springbootteststarterdependencygroupIdorg。springframework。bootgroupIdspringbootstartertestartifactIddependency!druid数据源,也可以使用默认的数据源dependencygroupIdcom。alibabagroupIddruidartifactIdversion1。1。17versiondependencydependencies2。2。3配置数据源
  (1)在resourceapplication。yml中配置数据源server:port:9090spring:datasource:driverclassname:com。mysql。cj。jdbc。Driverurl:jdbc:mysql:localhost:3306springbootmybatisplus?useSSLtrueuseUnicodetruecharacterEncodingUTF8username:rootpassword:123456
  (2)创建配置类,设置Druid数据源:这一步和mybatis整合相同,见上1。1。3操作2。2。4代码实现
  (1)创建JavaBeanMonster。java,用于表映射(同1。1。4的操作,略)
  (2)创建mapper接口,用于声明方法
  相比于mybatis需要自己声明方法,MP提供了一个通用的BaseMapper,有很多通用的方法,通过继承,我们就可以直接使用,简化开发packagecom。li。springboot。mybatisplus。importcom。baomidou。mybatisplus。core。mapper。BaseMimportcom。li。springboot。mybatisplus。bean。Mimportorg。apache。ibatis。annotations。Mauthor李version1。0BaseMapper是MyBatisPlus内置的通用Mapper,提供了很多的方法如果它提供的方法不能满足业务需求,我们可以在这里开发新的方法MapperpublicinterfaceMonsterMapperextendsBaseMapperMonster{}
  如果在这一步没有自定义的接口方法,就不需要使用Mapper。xml文件实现声明
  (3)开发Service
  MP也提供了一个通用的Service接口,里面也提供了很多方法packagecom。li。springboot。mybatisplus。importcom。baomidou。mybatisplus。extension。service。ISimportcom。li。springboot。mybatisplus。bean。Mauthor李version1。01。在mybatis中,是在MonsterService声明方法,然后在其实现类实现2。而在MyBatisPlus中,我们可以通过继承父接口:IService,从而使用里面的很多方法3。如果它提供的方法不能满足业务需求,再开发新的方法ServicepublicinterfaceMonsterServiceextendsIServiceMonster{}
  注意:如果在业务Service接口声明了自定义方法,通常会创建一个实现类实现接口方法,问题是:由于业务Service接口继承了IService接口,那么业务Service的实现类要同时实现两个接口的方法才行,非常麻烦。
  解决方案是:业务实现类通过继承ServiceImpl类解决问题。ServiceImpl类是MyBatisPlus提供的一个类,它已经实现了IService的方法。这样业务实现类就只需要实现业务Service自定义的方法。
  业务实现类MonsterServiceImpl:packagecom。li。springboot。mybatisplus。service。importcom。baomidou。mybatisplus。extension。service。impl。ServiceIimportcom。li。springboot。mybatisplus。bean。Mimportcom。li。springboot。mybatisplus。mapper。MonsterMimportcom。li。springboot。mybatisplus。service。MonsterSauthor李version1。0publicclassMonsterServiceImplextendsServiceImplMonsterMapper,MonsterimplementsMonsterService{通过继承ServiceImpl,这个实现类中就只用实现业务Service自定义的方法}
  controller层的实现和mybatis的大同小异,这里就不写了2。2。5补充对MP的配置MyBatisPlus的配置和MyBatis配置几乎没有区别,在SpringBoot中,同样可以通过如下方式进行配置:
  (1)使用传统的配置文件配置,不过要先在application。yml文件中指定配置文件的路径:mybatisplus:configlocation:xxx指定mp配置文件的路径
  (2)直接使用application。yml文件进行配置,例如:mybatisplus:configuration:进行mybatisplus配置,配置项和mybatis一样logimpl:org。apache。ibatis。logging。stdout。StdOutImplMapperScan注解(修饰于主程序)可以替代Mapper(修饰于mapper接口),basePackages属性可以接收多个值2。3注意事项和使用细节
  MyBatisPlus的注解
  (1)TableName
  描述:表名注解,标识实体类对应的表。如果实体类的类名和表名一致,则该注解可以省略,否则需要通过TableName指定表名
投诉 评论 转载

永远的星星花楼下池塘边有一株大树,树干上攀爬着一株小草,那是一株小小的、弱弱的星星花,连着细细的茎,怎么看都很弱小。她的叶子和茎很绿,嫩嫩的绿,花又是红艳艳的。每当我看见她们,总要情……孩子能看电影吗视力变差是惹的祸暑假有不少的电影上映,当然也包括不少3D电影,那么小孩子能看3D电影吗?一般专家是建议6岁以下的小孩子不要看3D电影,因为会容易导致眼疲劳。但是,即使要看的时候妈妈也要帮宝宝挑……上海人和北京人的对话这些故事,你几无法证实其有,也无法证实其无。甚至有个别北方人造谣言于报纸其它地方人常常会用道听途说来的,丑化上海人的故事,作为送给上海人的见面礼这一天,在外地,几个上海人和北京……过敏反应的危害婴幼儿避免出现过敏反应有过过敏反应的人不在少数,有的是在后天生活中,因为环境因素造成的,有的有的则天生就是过敏体质。对于过敏反应的预防,现在能做的就是尽量减少接触过敏原,防止过敏发生,对于很多过敏体……凉比冬风的幽默冷段1、诸葛亮问:风啊风啊,你可以向西刮(西瓜)吗?风答:不可以,我TM又没形状怎么像!2、猫A:你为什么要把抓到的老鼠撕成碎片?你不觉得这样做很残忍吗?猫B:可……多肉植物病害产生原因及防治多肉植物甚少病虫害,非洲大陆严酷的环境,造就了多肉植物强大的适应能力,估计是外来物种的原因,常见的红蜘蛛,介壳虫,都不见踪影,偶尔土里会飞出个小黑虫,也无伤大雅。不过,也……挂掉造句用挂掉造句大全1、之前你放弃的人或者放弃你的人,深夜打电话给你,挂掉之后关机。如果他守在窗口,记得拉紧窗帘。不是你狠心,而是任何经历伤痛之后的分手都会有裂痕,修补得再好也无法还原。不如就让它……SpringBoot整合MyBatisPlus实操1。SpringBoot整合MyBatis1。1整合案例需求:整合SpringBoot和Mybatis,向数据库中查询数据。项目结构:1。1。1创建数据库和表……2022年各个台春晚怎么都没有郭德纲?综合各种报道,应该是从天津赶场到山东录春晚,违反了天津防疫规定,被人举报。山东春晚节目被删。天津春晚也删了,仅保留一点没法删的团体节目。天津春晚当天,郭德纲发微博:过年喽……我不再害怕黑暗在生活中,我们经常面对困难与挫折,在面对这些困难时,我们应该正面直击,不要退却。你越畏惧它,它就越是抓住你的心理,越猖狂。你往后退一步,它向前进一步;你假若鼓起勇气往前走一步,……大宝八岁,作为姥姥我妈最疼爱他,但他却不尊敬我妈,该怎么办?反思自己!第一,是不是自己没有时间陪伴孩子第二,自己是不是没有我正面教育孩子第三,长辈对第三代过度的溺爱,忍让会让后期孩子更为的过分,成人后更不可想象解……三体是否被有些人过度吹捧,而对其他科幻作品评价低于原本的高度对于任何一部小说来说,吹捧是能起到提高小说知名度的。而真正好的小说,则是被更多的观众和粉丝喜爱,从而不断提高知名度的。《三体》就是这样一部小说。首先,我们来分析一下《三体……
一天之内4个大瓜戚薇打假反收律师函,黄晓明霸气否认有私生子12集回廊亭今晚开播,邓家佳张新成联手,又有悬疑剧可以看了以前那么好用的廉价圆珠笔为什么突然消失了?中国花样滑冰代表队,有什么办法从俄罗斯身上抢一面冬奥金牌?可以推荐几部好看的战争电影吗?怎么在手机照片上添加竖排的诗词和自己的签名?你有没有在某个瞬间觉得数学是美的,或者被数学震撼到?为什么现在很多女性喜欢晒儿子?未来大学毕业什么专业好就业?为什么感觉一些大厂招聘算法工程师工资普遍比开发工资高?学炸串去哪里比较好?女性什么时间开始调理才能有效延缓衰老?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找