电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

springboot整合mybatis-plus實現多表分頁查詢的示例代碼

瀏覽:45日期:2023-03-21 16:58:19

1.新建一個springboot工程

2.需要導入mybatis和mybatis-plus的依賴文件

<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.1</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency>

3.application.yml配置文件

server: port: 8080spring: datasource: url: jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC username: root password: 數據庫密碼mybatis: mapper-locations: classpath*:mapper/*.xmlmybatis-plus: mapper-locations: classpath:/mapper/*Mapper.xmllogging: level: com.tuanzi.*: debug

4.首先我們需要寫一個類來配置分頁插件

省略import@EnableTransactionManagement@Configuration@MapperScan('com.tuanzi.*.mapper*')public class MybatisPlusConfig { /** * 分頁插件 */ @Bean public PaginationInterceptor paginationInterceptor(){ return new PaginationInterceptor(); }}

5.controller類

@RestController@RequestMapping('/user')public class UserController { @Autowired UserService userService; /** * 多表關聯,分頁查詢(1對1) * @param page * @return */ @RequestMapping('/findAll') public Result<IPage<User>> findAll(@RequestBody Page<User> page){ return userService.pages(page); } /** * 多表關聯,分頁查詢(1對多) * @param page * @return */ @RequestMapping('/selectAll') public Result<IPage<User>> selectAll(@RequestBody Page<User> page){ return userService.pageList(page); }}

6.service類

public interface UserService extends IService<User> { Result<IPage<User>> pages(Page<User> page); Result<IPage<User>> pageList(Page<User> page);}

7.service實現類

@Servicepublic class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { @Autowired UserMapper userMapper; @Override public Result<IPage<User>> pages(Page<User> page) { IPage<User> userIPage = userMapper.Pages(page); return Result.getSuccess('分頁查詢成功',userIPage); } @Override public Result<IPage<User>> pageList(Page<User> page) { IPage<User> userIPage = userMapper.pageList(page); return Result.getSuccess('分頁查詢成功',userIPage); }}

8.mapper接口

注意!!: 如果入參是有多個,需要加注解指定參數名才能在xml中取值

@Mapper@Repositorypublic interface UserMapper extends BaseMapper<User> { IPage<User> Pages(@Param('page') Page<User> page); IPage<User> pageList(@Param('page') Page<User> page);}

9.xml文件

一對一關聯

<!-- 一對一 通用查詢映射結果 --> <resultMap type='com.tuanzi.user.entity.User'> <result column='id' property='id' /> <result column='name' property='name' /> <result column='age' property='age' /> <result column='email' property='email' /> <!--assocication 一對一關聯查詢可以指定聯合的JavaBean對象property='work'指定哪個屬性是聯合的對象javaType:指定這個屬性對象的類型 --> <association property='work' javaType='com.tuanzi.user.entity.Work'> <result column='id' property='id' /> <result column='position' property='position' /> <result column='user_id' property='userId' /> </association> </resultMap>

一對多關聯

<!-- 一對多 通用查詢映射結果 --> <resultMap type='com.tuanzi.user.entity.User'> <result column='id' property='id' /> <result column='name' property='name' /> <result column='age' property='age' /> <result column='email' property='email' /> <!--collection定義關聯結合類型的屬性的封裝規則property='workList'指定哪個屬性是聯合的對象ofType:指定集合里面元素的類型--> <collection property='workList' ofType='com.tuanzi.user.entity.Work'> <result column='id' property='id' /> <result column='position' property='position' /> <result column='user_id' property='userId' /> </collection> </resultMap>

SQL語句:

<select resultMap='BaseResultMap1'> select a.id id,a.name name,a.age age,a.email email,b.position position,b.user_id user_id from user a LEFT JOIN work b on a.id=b.user_id </select> <select resultMap='BaseResultMap2'> select a.id id,a.name name,a.age age,a.email email,b.position position,b.user_id user_id from user a LEFT JOIN work b on a.id=b.user_id </select>

10.這樣就基本完成了!我這里省略了實體類

我們運行一下,用postman測試一下結果這里我們需要傳2個參數,當然我們也可以不用傳,因為mybatis-plus有默認值來看下mybatis-plus的page源碼

springboot整合mybatis-plus實現多表分頁查詢的示例代碼

效果圖:

springboot整合mybatis-plus實現多表分頁查詢的示例代碼

springboot整合mybatis-plus實現多表分頁查詢的示例代碼

最后附贈源碼地址:demo

到此這篇關于springboot整合mybatis-plus實現多表分頁查詢的示例代碼的文章就介紹到這了,更多相關springboot整合mybatis-plus多表分頁查詢內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 电动葫芦|手拉葫芦|环链电动葫芦|微型电动葫芦-北京市凌鹰起重机械有限公司 | 自恢复保险丝_贴片保险丝_力特保险丝_Littelfuse_可恢复保险丝供应商-秦晋电子 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 防伪溯源|防窜货|微信二维码营销|兆信_行业内领先的防伪防窜货数字化营销解决方案供应商 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 双相钢_双相不锈钢_双相钢圆钢棒_双相不锈钢报价「海新双相钢」 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 半容积式换热器_北京浮动盘管换热器厂家|北京亿丰上达 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 沈阳楼承板_彩钢板_压型钢板厂家-辽宁中盛绿建钢品股份有限公司 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 上海logo设计| 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 英国雷迪地下管线探测仪-雷迪RD8100管线仪-多功能数字听漏仪-北京迪瑞进创科技有限公司 | 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 全自动包衣机-无菌分装隔离器-浙江迦南科技股份有限公司 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 综合管廊模具_生态,阶梯护坡模具_检查井模具制造-致宏模具厂家 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 航空连接器,航空插头,航空插座,航空接插件,航插_深圳鸿万科 | 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 连栋温室大棚建造厂家-智能玻璃温室-薄膜温室_青州市亿诚农业科技 | 嘉兴泰东园林景观工程有限公司_花箱护栏 | 番茄畅听邀请码怎么输入 - Dianw8.com| 电镀整流器_微弧氧化电源_高频电解电源_微弧氧化设备厂家_深圳开瑞节能 | 杭州成人高考_浙江省成人高考网上报名 | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 |