欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatisplus中返回Vo的案例講解

 更新時(shí)間:2023年03月14日 11:47:10   作者:stevenxyy  
這篇文章主要介紹了mybatisplus中返回Vo的案例,mybatisplus內(nèi)置的幾個(gè)方法使用泛型限制了方法的返回類型,所以實(shí)現(xiàn)返回Vo還是得自定義方法,?這個(gè)方法名盡量不要和原有的名字類似,本文通過實(shí)例代碼給大家詳解講解,需要的朋友可以參考下

注意: mybatisplus內(nèi)置的幾個(gè)方法使用泛型限制了方法的返回類型,
所以實(shí)現(xiàn)返回Vo還是得自定義方法, 這個(gè)方法名盡量不要和原有的名字類似
(以免出問題), 采用mybatisplus就是想借用它的wrapper的便利.

另外, 如果不采用vo, 而是直接ss.realname submitterName, ss.title submitterTitle, sa.realname appraiserName , sa.title appraiserTitle加入為entity中屬性(對(duì)這幾個(gè)屬性取消持久化 ), 然后直接修改page方法對(duì)應(yīng)的xml, 這么做雖然可以返回你要的結(jié)果, 但是, 前端傳入entity對(duì)象作為查詢參數(shù)時(shí), 假如這幾個(gè)屬性存在非空值, 那么mybatisplus會(huì)映射到sql中去, 這樣sql就報(bào)錯(cuò)了, 因?yàn)閿?shù)據(jù)庫沒這幾個(gè)字段
(除非你禁止這幾個(gè)參數(shù)的反序列化或者對(duì)mybatisplus wrapper 過濾掉這幾個(gè)屬性, 先不說fastjson的反序列化在這幾個(gè)屬性上用沒有bug, 這樣做會(huì)讓代碼不優(yōu)雅,耦合也高, swagger ui也沒寫清楚, 所以還是采用vo的好)

1.定義Vo (extends 實(shí)體類然后加幾個(gè)非持久化字段), 作為返回
—不用map作為返回的原因是, 對(duì)swagger-api不友好

2.xml 如下(就用mybaisplus, 不想用mybatis)

 <select id="selectPageVo" resultType="com.DailyReportVo">
    select ss.realname submitterName, ss.title submitterTitle, sa.realname appraiserName , sa.title appraiserTitle, n.*
    from  nst_daily_report n
    LEFT JOIN sys_user sa
    on n.appraiser_id = sa.id
    LEFT JOIN sys_user ss
    on n.submitter_id = ss.id
    <where>
        ${ew.sqlSegment}
    </where>
</select>

3.service

public interface IDailyReportService extends IService<DailyReport> {
    IPage<DailyReportVo> selectPageVo(IPage<DailyReportVo> page, Wrapper<DailyReportVo> queryWrapper);
}
@Service
public class DailyReportServiceImpl extends ServiceImpl<DailyReportMapper, DailyReport> implements IDailyReportService {
    @Override
    public IPage<DailyReportVo> selectPageVo(IPage<DailyReportVo> page, Wrapper<DailyReportVo> queryWrapper) {
        return this.baseMapper.selectPageVo(page, queryWrapper);
    }
}

4.controller

@GetMapping(value = "/list")
	public Result<IPage<DailyReportVo>> queryPageList(DailyReport dailyReport,
									  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
									  HttpServletRequest req){
		DailyReportVo dailyReportVo = new DailyReportVo();
				BeanUtils.copyProperties(dailyReportVo,dailyReport);
		Result<IPage<DailyReportVo>> result = new Result<>();
		QueryWrapper<DailyReportVo> queryWrapper = QueryGenerator.initQueryWrapper(dailyReportVo, req.getParameterMap());
		Page<DailyReportVo> page = new Page<>(pageNo, pageSize);
		IPage<DailyReportVo> pageList = dailyReportService.selectPageVo(page, queryWrapper);
		result.setSuccess(true);
		result.setResult(pageList);
		return result;
	}

到此這篇關(guān)于mybatisplus中返回Vo的文章就介紹到這了,更多相關(guān)mybatisplus返回Vo內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot跨域Access-Control-Allow-Origin實(shí)現(xiàn)解析

    SpringBoot跨域Access-Control-Allow-Origin實(shí)現(xiàn)解析

    這篇文章主要介紹了SpringBoot跨域Access-Control-Allow-Origin實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • RocketMQ?NameServer架構(gòu)設(shè)計(jì)啟動(dòng)流程

    RocketMQ?NameServer架構(gòu)設(shè)計(jì)啟動(dòng)流程

    這篇文章主要為大家介紹了RocketMQ?NameServer架構(gòu)設(shè)計(jì)啟動(dòng)流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Java ThreadLocal詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java ThreadLocal詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    ThreadLocal,很多地方叫做線程本地變量,也有些地方叫做線程本地存儲(chǔ),本文會(huì)詳細(xì)的介紹一下,有興趣的可以了解一下
    2017-06-06
  • SpringCloud gateway+zookeeper實(shí)現(xiàn)網(wǎng)關(guān)路由的詳細(xì)搭建

    SpringCloud gateway+zookeeper實(shí)現(xiàn)網(wǎng)關(guān)路由的詳細(xì)搭建

    這篇文章主要介紹了SpringCloud gateway+zookeeper實(shí)現(xiàn)網(wǎng)關(guān)路由,本文通過圖文實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Java中的HashMap源碼分析

    Java中的HashMap源碼分析

    這篇文章主要介紹了Java中的HashMap源碼分析,散列表是根據(jù)關(guān)鍵碼值(Key?value)而直接進(jìn)行訪問的數(shù)據(jù)結(jié)構(gòu),也就是說,它通過把關(guān)鍵碼值映射到表中一個(gè)位置來訪問記錄,以加快查找的速度,這個(gè)映射函數(shù)叫做散列函數(shù),存放記錄的數(shù)組叫做散列表,需要的朋友可以參考下
    2023-09-09
  • Java設(shè)計(jì)模式中組合模式應(yīng)用詳解

    Java設(shè)計(jì)模式中組合模式應(yīng)用詳解

    組合模式,又叫部分整體模式,它創(chuàng)建了對(duì)象組的數(shù)據(jù)結(jié)構(gòu)組合模式使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的訪問具有一致性。本文將通過示例為大家詳細(xì)介紹一下組合模式,需要的可以參考一下
    2022-11-11
  • java操作cookie示例(刪除cookie)

    java操作cookie示例(刪除cookie)

    這篇文章主要介紹了java操作cookie示例,包括設(shè)置Cookie、讀取Cookie、刪除Cookie,需要的朋友可以參考下
    2014-02-02
  • 詳解如何實(shí)現(xiàn)nacos的配置的熱更新

    詳解如何實(shí)現(xiàn)nacos的配置的熱更新

    這篇文章主要為大家詳細(xì)介紹了如何實(shí)現(xiàn)nacos的配置的熱更新,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • @Value如何設(shè)置默認(rèn)值

    @Value如何設(shè)置默認(rèn)值

    這篇文章主要介紹了@Value如何設(shè)置默認(rèn)值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 一篇文章帶你了解Spring?AOP?的注解

    一篇文章帶你了解Spring?AOP?的注解

    這篇文章主要為大家介紹了vue組件通信的幾種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01

最新評(píng)論