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

Mybatis ResultType如何處理返回類型

 更新時(shí)間:2024年01月22日 17:07:51   作者:JoneClassMate  
這篇文章主要介紹了Mybatis ResultType如何處理返回類型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1. 使用resultType返回List<T>

Mapper.xml 

<select id="resultType2" resultType="String">
    select
    book_name
    from tb_book
  </select>

service層

List<String> resultType2();

實(shí)現(xiàn)類

    //創(chuàng)建對(duì)象
    private BookMapper bookMapper;
 
 
    /**
     * 給bookMapper set,get方法
     * @return
     */
    public BookMapper getBookMapper() {
        return bookMapper;
    }
 
    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }
 
    @Override
    public List<String> resultType2() {
        return bookMapper.resultType2();
    }

使用junit測(cè)試

package com.jmh.mybatis.service.impl;
 
import com.jmh.mybatis.mapper.BookMapper;
import com.jmh.mybatis.model.Book;
import com.jmh.mybatis.model.BookVo;
import com.jmh.mybatis.service.IBookService;
import com.jmh.mybatis.utils.MybatisSqlSessionFactory;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
 
import java.util.List;
import java.util.Map;
import java.util.Set;
 
import static org.junit.Assert.*;
 
public class DemoTest {
    //獲取對(duì)象
    private Book book;
    private IBookService iBookService;
    private SqlSession sqlSession;
 
    @Before
    public void setUp() throws Exception {
        book=new Book();
        sqlSession = MybatisSqlSessionFactory.getSqlsession();
        BookMapper mapper = sqlSession.getMapper(BookMapper.class);
        BookServiceImpl iml=new BookServiceImpl();
        iml.setBookMapper(mapper);
        iBookService= iml;
    }
 
    @After
    public void tearDown() throws Exception {
        sqlSession.commit();
        MybatisSqlSessionFactory.closeSqlsession();
    }
 
 
    @Test
    public void resultType2() {
        List<String> books = iBookService.resultType2();
        for (String b : books) {
            System.out.println(b);
        }
    }
 
}

測(cè)試如下

2. 使用resultType返回單個(gè)對(duì)象

Mapper.xml 

  <select id="resultType3" resultType="com.jmh.mybatis.model.Book">
    select
    <include refid="Base_Column_List" />
    from tb_book where book_id=306
  </select>

service層

Book resultType3();

實(shí)現(xiàn)類

    //創(chuàng)建對(duì)象
    private BookMapper bookMapper;
 
 
    /**
     * 給bookMapper set,get方法
     * @return
     */
    public BookMapper getBookMapper() {
        return bookMapper;
    }
 
    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }
 
    @Override
    public Book resultType3() {
        return bookMapper.resultType3();
    }

使用junit測(cè)試

    package com.jmh.mybatis.service.impl;
 
import com.jmh.mybatis.mapper.BookMapper;
import com.jmh.mybatis.model.Book;
import com.jmh.mybatis.model.BookVo;
import com.jmh.mybatis.service.IBookService;
import com.jmh.mybatis.utils.MybatisSqlSessionFactory;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
 
import java.util.List;
import java.util.Map;
import java.util.Set;
 
import static org.junit.Assert.*;
 
public class DemoTest {
    //獲取對(duì)象
    private Book book;
    private IBookService iBookService;
    private SqlSession sqlSession;
 
    @Before
    public void setUp() throws Exception {
        book=new Book();
        sqlSession = MybatisSqlSessionFactory.getSqlsession();
        BookMapper mapper = sqlSession.getMapper(BookMapper.class);
        BookServiceImpl iml=new BookServiceImpl();
        iml.setBookMapper(mapper);
        iBookService= iml;
    }
 
    @After
    public void tearDown() throws Exception {
        sqlSession.commit();
        MybatisSqlSessionFactory.closeSqlsession();
    }
 
 
    @Test
    public void resultType3() {
        Book book = iBookService.resultType3();
        System.out.println(book);
    }
 
 
 
}

3. 使用resultType返回List<Map>,適用于多表查詢返回結(jié)果集 

mapper接口 

需要使用注解才能使用map其實(shí)這個(gè)主要功能也不大 將就著用吧

    @MapKey("id")
       List<Map<String,Object>> resultType4();

mapper.xml 

  <select id="resultType4" resultType="java.util.Map">
    select book_id,price,book_name from tb_book
  </select>

service層

List<Map<String,Object>> resultType4();

實(shí)現(xiàn)類

    //創(chuàng)建對(duì)象
    private BookMapper bookMapper;
 
 
    /**
     * 給bookMapper set,get方法
     * @return
     */
    public BookMapper getBookMapper() {
        return bookMapper;
    }
 
    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }
    @Override
    public List<Map<String, Object>> resultType4() {
        return bookMapper.resultType4();
    }

使用junit測(cè)試

package com.jmh.mybatis.service.impl;
 
import com.jmh.mybatis.mapper.BookMapper;
import com.jmh.mybatis.model.Book;
import com.jmh.mybatis.model.BookVo;
import com.jmh.mybatis.service.IBookService;
import com.jmh.mybatis.utils.MybatisSqlSessionFactory;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
 
import java.util.List;
import java.util.Map;
import java.util.Set;
 
import static org.junit.Assert.*;
 
public class DemoTest {
    //獲取對(duì)象
    private Book book;
    private IBookService iBookService;
    private SqlSession sqlSession;
 
    @Before
    public void setUp() throws Exception {
        book=new Book();
        sqlSession = MybatisSqlSessionFactory.getSqlsession();
        BookMapper mapper = sqlSession.getMapper(BookMapper.class);
        BookServiceImpl iml=new BookServiceImpl();
        iml.setBookMapper(mapper);
        iBookService= iml;
    }
 
    @After
    public void tearDown() throws Exception {
        sqlSession.commit();
        MybatisSqlSessionFactory.closeSqlsession();
    }
 
 
    @Test
    public void resultType4() {
        List<Map<String, Object>> maps = iBookService.resultType4();
        for (Map<String, Object> map : maps) {
            System.out.println(map);
        }
    }
 
}

4. 使用resultType返回Map<String,Object>,適用于多表查詢返回單個(gè)結(jié)果集  

mapper接口

@MapKey("id")
        Map<String,Object> resultType5();

mapper.xml 

  <select id="resultType5" resultType="java.util.Map">
    select book_id,price from tb_book
  </select>

service層

Map<String,Object> resultType5();

實(shí)現(xiàn)類

    //創(chuàng)建對(duì)象
    private BookMapper bookMapper;
 
 
    /**
     * 給bookMapper set,get方法
     * @return
     */
    public BookMapper getBookMapper() {
        return bookMapper;
    }
 
    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }
 
    @Override
    public Map<String, Object> resultType5() {
        return bookMapper.resultType5();
    }

使用junit測(cè)試

package com.jmh.mybatis.service.impl;
 
import com.jmh.mybatis.mapper.BookMapper;
import com.jmh.mybatis.model.Book;
import com.jmh.mybatis.model.BookVo;
import com.jmh.mybatis.service.IBookService;
import com.jmh.mybatis.utils.MybatisSqlSessionFactory;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
 
import java.util.List;
import java.util.Map;
import java.util.Set;
 
import static org.junit.Assert.*;
 
public class DemoTest {
    //獲取對(duì)象
    private Book book;
    private IBookService iBookService;
    private SqlSession sqlSession;
 
    @Before
    public void setUp() throws Exception {
        book=new Book();
        sqlSession = MybatisSqlSessionFactory.getSqlsession();
        BookMapper mapper = sqlSession.getMapper(BookMapper.class);
        BookServiceImpl iml=new BookServiceImpl();
        iml.setBookMapper(mapper);
        iBookService= iml;
    }
 
    @After
    public void tearDown() throws Exception {
        sqlSession.commit();
        MybatisSqlSessionFactory.closeSqlsession();
}
 
    @Test
    public void resultType5() {
        Map<String, Object> map = iBookService.resultType5();
        System.out.println(map);
    }
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot路徑映射配置的實(shí)現(xiàn)步驟

    SpringBoot路徑映射配置的實(shí)現(xiàn)步驟

    本文介紹了如何在SpringBoot項(xiàng)目中配置路徑映射,使得除static目錄外的資源可被訪問,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-08-08
  • Java中的Lombok使用及工作原理詳解

    Java中的Lombok使用及工作原理詳解

    這篇文章主要介紹了Java中的Lombok使用及工作原理詳解,Lombok是一個(gè)Java庫,能自動(dòng)插入編輯器并構(gòu)建工具,簡(jiǎn)化Java開發(fā),通過添加注解的方式,不需要為類編寫getter或eques方法,同時(shí)可以自動(dòng)化日志變量,需要的朋友可以參考下
    2023-10-10
  • SpringBoot+vue+Axios實(shí)現(xiàn)Token令牌的詳細(xì)過程

    SpringBoot+vue+Axios實(shí)現(xiàn)Token令牌的詳細(xì)過程

    Token是在服務(wù)端產(chǎn)生的,前端可以使用用戶名/密碼向服務(wù)端請(qǐng)求認(rèn)證(登錄),服務(wù)端認(rèn)證成功,服務(wù)端會(huì)返回?Token?給前端,Token可以使用自己的算法自定義,本文給大家介紹SpringBoot+vue+Axios實(shí)現(xiàn)Token令牌,感興趣的朋友一起看看吧
    2023-10-10
  • JVM調(diào)優(yōu)OutOfMemoryError異常分析

    JVM調(diào)優(yōu)OutOfMemoryError異常分析

    這篇文章主要為大家介紹了JVM調(diào)優(yōu)OutOfMemoryError異常分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Java實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼生成(后端工具類)

    Java實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼生成(后端工具類)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼生成功能中的后端工具類部分,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-10-10
  • Java為圖片添加水印并保存實(shí)現(xiàn)方法(附帶源碼)

    Java為圖片添加水印并保存實(shí)現(xiàn)方法(附帶源碼)

    這篇文章主要介紹了如何使用Java編程語言在圖像上添加文字或圖片水印,并提供了一個(gè)簡(jiǎn)單的Java程序?qū)崿F(xiàn),文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2025-03-03
  • Fastjson反序列化隨機(jī)性失敗示例詳解

    Fastjson反序列化隨機(jī)性失敗示例詳解

    這篇文章主要為大家介紹了Fastjson反序列化隨機(jī)性失敗示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 學(xué)習(xí)SpringBoot容器功能及注解原理

    學(xué)習(xí)SpringBoot容器功能及注解原理

    這篇文章主要介紹了學(xué)習(xí)SpringBoot容器功能及注解原理,文中通過詳細(xì)的代碼示例對(duì)SpringBoot容器功能及注解原理進(jìn)行了解析,有需要的朋友可以借鑒參考下
    2021-09-09
  • Java中的Opencv簡(jiǎn)介與開發(fā)環(huán)境部署方法

    Java中的Opencv簡(jiǎn)介與開發(fā)環(huán)境部署方法

    OpenCV是一個(gè)開源的計(jì)算機(jī)視覺和圖像處理庫,提供了豐富的圖像處理算法和工具,它支持多種圖像處理和計(jì)算機(jī)視覺算法,可以用于物體識(shí)別與跟蹤、圖像分割與邊緣檢測(cè)、圖像特征提取與描述等應(yīng)用,本文介紹Java中的Opencv簡(jiǎn)介與開發(fā)環(huán)境部署方法,感興趣的朋友一起看看吧
    2025-01-01
  • Java使用正則表達(dá)式匹配獲取鏈接地址的方法示例

    Java使用正則表達(dá)式匹配獲取鏈接地址的方法示例

    這篇文章主要介紹了Java使用正則表達(dá)式匹配獲取鏈接地址的方法,簡(jiǎn)單分析了java正則匹配常用方法及獲取網(wǎng)址鏈接的相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08

最新評(píng)論

清徐县| 新蔡县| 札达县| 谷城县| 西充县| 曲周县| 琼结县| 栾川县| 三穗县| 黑龙江省| 吉木萨尔县| 福清市| 高邮市| 北京市| 定边县| 灵寿县| 怀远县| 巴马| 江陵县| 桃江县| 呼图壁县| 南澳县| 远安县| 库尔勒市| 女性| 禹州市| 临夏县| 长治市| 汉沽区| 松潘县| 梓潼县| 金塔县| 潼南县| 高唐县| 南溪县| 郸城县| 大城县| 郎溪县| 师宗县| 海安县| 宽城|