亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

springboot整合mybatis-plus實(shí)現(xiàn)多表分頁查詢的示例代碼

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

1.新建一個(gè)springboot工程

2.需要導(dǎo)入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: 數(shù)據(jù)庫密碼mybatis: mapper-locations: classpath*:mapper/*.xmlmybatis-plus: mapper-locations: classpath:/mapper/*Mapper.xmllogging: level: com.tuanzi.*: debug

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

省略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; /** * 多表關(guān)聯(lián),分頁查詢(1對(duì)1) * @param page * @return */ @RequestMapping('/findAll') public Result<IPage<User>> findAll(@RequestBody Page<User> page){ return userService.pages(page); } /** * 多表關(guān)聯(lián),分頁查詢(1對(duì)多) * @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實(shí)現(xiàn)類

@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接口

注意!!: 如果入?yún)⑹怯卸鄠€(gè),需要加注解指定參數(shù)名才能在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文件

一對(duì)一關(guān)聯(lián)

<!-- 一對(duì)一 通用查詢映射結(jié)果 --> <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 一對(duì)一關(guān)聯(lián)查詢可以指定聯(lián)合的JavaBean對(duì)象property='work'指定哪個(gè)屬性是聯(lián)合的對(duì)象javaType:指定這個(gè)屬性對(duì)象的類型 --> <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>

一對(duì)多關(guān)聯(lián)

<!-- 一對(duì)多 通用查詢映射結(jié)果 --> <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定義關(guān)聯(lián)結(jié)合類型的屬性的封裝規(guī)則property='workList'指定哪個(gè)屬性是聯(lián)合的對(duì)象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.這樣就基本完成了!我這里省略了實(shí)體類

我們運(yùn)行一下,用postman測試一下結(jié)果這里我們需要傳2個(gè)參數(shù),當(dāng)然我們也可以不用傳,因?yàn)閙ybatis-plus有默認(rèn)值來看下mybatis-plus的page源碼

springboot整合mybatis-plus實(shí)現(xiàn)多表分頁查詢的示例代碼

效果圖:

springboot整合mybatis-plus實(shí)現(xiàn)多表分頁查詢的示例代碼

springboot整合mybatis-plus實(shí)現(xiàn)多表分頁查詢的示例代碼

最后附贈(zèng)源碼地址:demo

到此這篇關(guān)于springboot整合mybatis-plus實(shí)現(xiàn)多表分頁查詢的示例代碼的文章就介紹到這了,更多相關(guān)springboot整合mybatis-plus多表分頁查詢內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 日韩 亚洲 中文 图片 小说 | 玖玖玖视频在线观看视频6 玖玖视频精品 | 国产啪精品| 大学生久久香蕉国产线观看 | 在线观看 一区二区 麻豆 | 波多野结中文字幕在线69视频 | 狠狠色丁香久久婷婷综合_中 | 特级淫片国产免费高清视频 | 正在播放国产巨作 | 久久 在线播放 | 亚洲成人mv | 99精品国产自产在线观看 | 国产亚洲精品久久久极品美女 | 成年女美黄网站大全免费播放 | 在线观看高清视频bbixx | 久久久久久久久a免费 | 1024免费永久福利视频 | 香蕉视频大全 | 亚洲国产精品aaa一区 | 国产精品免费麻豆入口 | 中文在线日本免费永久18近 | 日韩精品一区二区三区毛片 | 黄色三级三级三级免费看 | 欧美夜恋影院夜恋秀场 | 久久精品国产久精国产果冻传媒 | 色淫影院| 欧美一区二区三区婷婷月色 | 国产91色综合久久免费 | 一区二区在线看 | 九九黄色 | 在线观看日本三级 | 尤物在线免费视频 | 香蕉99国内自产自拍视频 | 精品福利视频在线观看 | 国产一级特黄aaa大片 | 日韩福利视频在线 | 欧美一区二区三区视频在线观看 | 久久精品国产精品亚洲婷婷 | 日韩一区二区三区在线播放 | 国产精品白浆精子流水合集 | 国产日产欧美精品一区二区三区 |