最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文章

  • java頁面中文亂碼的解決辦法

    java頁面中文亂碼的解決辦法

    做java開發(fā)的朋友碰到最多的就是中文亂碼這個(gè)問題了,下面介紹頁面提交時(shí)與url中文亂碼的一些解決辦法
    2013-11-11
  • Mybatis?如何開啟控制臺(tái)打印sql語句

    Mybatis?如何開啟控制臺(tái)打印sql語句

    這篇文章主要介紹了Mybatis?如何開啟控制臺(tái)打印sql語句問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • string boot 與 自定義interceptor的實(shí)例講解

    string boot 與 自定義interceptor的實(shí)例講解

    下面小編就為大家分享一篇string boot 與 自定義interceptor的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • JDK8中的HashMap初始化和擴(kuò)容機(jī)制詳解

    JDK8中的HashMap初始化和擴(kuò)容機(jī)制詳解

    這篇文章主要介紹了JDK8中的HashMap初始化和擴(kuò)容機(jī)制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java封裝類型與基礎(chǔ)類型對(duì)比示例分析

    java封裝類型與基礎(chǔ)類型對(duì)比示例分析

    這篇文章主要為大家介紹了java封裝類型與基礎(chǔ)類型對(duì)比示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Java三目運(yùn)算符的實(shí)戰(zhàn)案例

    Java三目運(yùn)算符的實(shí)戰(zhàn)案例

    三目運(yùn)算符在java中運(yùn)用可以說非常的廣泛,下面這篇文章主要給大家介紹了關(guān)于Java三目運(yùn)算符的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Mybatis的mapper標(biāo)簽 namespace屬性用法說明

    Mybatis的mapper標(biāo)簽 namespace屬性用法說明

    這篇文章主要介紹了Mybatis的mapper標(biāo)簽 namespace屬性用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java springboot的概述、特點(diǎn)與構(gòu)建介紹

    java springboot的概述、特點(diǎn)與構(gòu)建介紹

    大家好,本篇文章主要講的是springboot的概述、特點(diǎn)與構(gòu)建介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Spring自定義配置Schema可擴(kuò)展(二)

    Spring自定義配置Schema可擴(kuò)展(二)

    這篇文章主要介紹了Spring自定義配置Schema可擴(kuò)展(二)的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • spring中的DI步驟詳解

    spring中的DI步驟詳解

    本文主要介紹了bean的裝配實(shí)現(xiàn)過程,通常對(duì)于簡(jiǎn)單數(shù)據(jù)類型數(shù)據(jù)初始主要在獲得對(duì)象后,使用setter方法完成,所謂的裝配主要是復(fù)雜數(shù)據(jù)類型的依賴注入,感興趣的朋友一起看看吧
    2023-11-11

最新評(píng)論

武山县| 海门市| 绵竹市| 宣汉县| 武鸣县| 开封市| 博湖县| 平舆县| 阿克陶县| 长兴县| 屏边| 莆田市| 平武县| 江油市| 三原县| 鄂托克前旗| 共和县| 承德县| 通化县| 化隆| 娱乐| 汶川县| 昌吉市| 永济市| 清流县| 肃宁县| 东山县| 内黄县| 高尔夫| 南投市| 沅陵县| 都兰县| 台安县| 钦州市| 镇坪县| 义乌市| 平阴县| 阿瓦提县| 商水县| 阳西县| 雷波县|