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

關(guān)于mybatis resulttype 返回值異常的問題

 更新時間:2021年08月25日 15:10:24   作者:光滑的禿頭  
這篇文章主要介紹了mybatis resulttype 返回值異常的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis resulttype 返回值異常

在使用mybatis時。resulttype返回自定義的類時,可能返回的類中字段數(shù)據(jù)存在缺失。

例如:resulttype = "student" 但是當(dāng)中有些字段為空

原因是因為數(shù)據(jù)庫字段和實(shí)體類字段不對應(yīng)導(dǎo)致的。 mybatis底層 查詢數(shù)據(jù)返回會更據(jù)數(shù)據(jù)庫的字段和實(shí)體類的字段進(jìn)行匹配,不區(qū)分大小寫。但是字段不一樣就無法傳遞值

例如:數(shù)據(jù)庫字段為:s_name 實(shí)體類字段為 name

處理方式1:

在查詢時添加別名 select s_name as name from student 別名對于實(shí)體類當(dāng)中的字段。

處理方式2:

返回一個resultMap map配置當(dāng)中指定數(shù)據(jù)庫中的列和實(shí)體類的類進(jìn)行對應(yīng)

<id column="s_name" jdbcType="VARCHAR" property="name"/>

mybatis resultType="map"的常見問題

在配置數(shù)據(jù)源的配置文件中,配置Mybatis的SqlSessionFactoryBean

一、map的key值 與select的字段順序的不一致問題

解決方法:

resultType="map" 修改為 resultType="java.util.LinkedHashMap"

二、值為null的返回map中沒相應(yīng)的key

解決方法:

1.查詢字段使用ifnull函數(shù)(可空字段較多時,不推薦)

2.修改mybatis配置

springmvc:

創(chuàng)建mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings> 
        <!-- 當(dāng)返回數(shù)據(jù)類型為map,設(shè)置callSettersOnNulls會把值為null的key也返回 -->
        <setting name="callSettersOnNulls" value="true"/> 
    </settings>
</configuration>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation" value="classpath:/META-INF/spring/mybatis-config.xml" />
    <property name="mapperLocations">
    <array>
      <value>classpath*:/com/xxx/mapper/*.xml</value>
    </array>
  </property>
</bean>

springboot:

配置文件:mybatis.configuration.call-setters-on-nulls=true

注解方式:

import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;  
import org.springframework.context.annotation.Bean;  
import org.springframework.context.annotation.Configuration;  
  
/** 
 * mybatis 注解版  
 * 
 */  
@Configuration  
public class MybatisConfig {  
  
    @Bean  
    public ConfigurationCustomizer configurationCustomizer() {  
        return new ConfigurationCustomizer() {  
  
            @Override  
            public void customize(org.apache.ibatis.session.Configuration configuration) {  
                configuration.setMapUnderscoreToCamelCase(true);//設(shè)置駝峰命名規(guī)則 
                configuration.setCallSettersOnNulls(true);
            }  
        };  
    }  
}  

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

相關(guān)文章

  • SpringBoot中集成日志的四種方式

    SpringBoot中集成日志的四種方式

    在開發(fā)中,日志記錄是保障應(yīng)用程序健壯性、可維護(hù)性的重要手段,通過日志,我們可以記錄系統(tǒng)的運(yùn)行狀態(tài)、捕獲異常并進(jìn)行調(diào)試,Spring Boot 默認(rèn)使用的是 Logback,但你也可以根據(jù)需求選擇其他框架,以下是幾種常用的日志集成方法,需要的朋友可以參考下
    2024-10-10
  • SpringCloud搭建Eureka服務(wù)模塊的過程

    SpringCloud搭建Eureka服務(wù)模塊的過程

    Eureka在分布式系統(tǒng)中起到了連接各個微服務(wù)的紐帶作用,使得服務(wù)之間的交互變得更加靈活、可靠,本文將深入探討如何使用Spring?Cloud,逐步引導(dǎo)讀者完成Eureka服務(wù)模塊的搭建,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • JAVA中通過Redis實(shí)現(xiàn)延時任務(wù)demo實(shí)例

    JAVA中通過Redis實(shí)現(xiàn)延時任務(wù)demo實(shí)例

    Redis在2.0版本時引入了發(fā)布訂閱(pub/sub)功能,在發(fā)布訂閱中有一個channel(頻道),與消息隊列中的topic(主題)類似,可以通過redis的發(fā)布訂閱者模式實(shí)現(xiàn)延時任務(wù)功能,實(shí)例中會議室預(yù)約系統(tǒng),用戶預(yù)約管理員審核后生效,如未審批,需要自動變超期未處理,使用延時任務(wù)
    2024-08-08
  • Java面試題沖刺第二十六天--實(shí)戰(zhàn)編程

    Java面試題沖刺第二十六天--實(shí)戰(zhàn)編程

    這篇文章主要為大家分享了最有價值的三道java實(shí)戰(zhàn)面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-08-08
  • spring cloud-zuul的Filter使用詳解

    spring cloud-zuul的Filter使用詳解

    這篇文章主要介紹了spring cloud-zuul的Filter使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • SpringCloud微服務(wù)架構(gòu)升級匯總

    SpringCloud微服務(wù)架構(gòu)升級匯總

    這篇文章主要介紹了SpringCloud微服務(wù)架構(gòu)升級匯總,它提倡將單一應(yīng)用程序劃分成一組小的服務(wù),服務(wù)之間互相協(xié)調(diào)、互相配合,為用戶提供最終價值,需要的朋友可以參考下
    2019-06-06
  • Java SimpleDateFormat中英文時間格式化轉(zhuǎn)換詳解

    Java SimpleDateFormat中英文時間格式化轉(zhuǎn)換詳解

    這篇文章主要為大家詳細(xì)介紹了Java SimpleDateFormat中英文時間格式化轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Spring Boot 整合 MyBatis 連接數(shù)據(jù)庫及常見問題

    Spring Boot 整合 MyBatis 連接數(shù)據(jù)庫及常見問題

    MyBatis 是一個優(yōu)秀的持久層框架,支持定制化 SQL、存儲過程以及高級映射,下面詳細(xì)介紹如何在 Spring Boot 項目中整合 MyBatis 并連接數(shù)據(jù)庫,感興趣的朋友一起看看吧
    2025-03-03
  • Spring?Boot實(shí)現(xiàn)第一次啟動時自動初始化數(shù)據(jù)庫流程詳解

    Spring?Boot實(shí)現(xiàn)第一次啟動時自動初始化數(shù)據(jù)庫流程詳解

    在現(xiàn)在的后端開發(fā)中,只要是使用關(guān)系型數(shù)據(jù)庫,相信SSM架構(gòu)(Spring?Boot?+?MyBatis)已經(jīng)成為首選,本文就以Spring?Boot?+?MyBatis為例,使用MySQL作為數(shù)據(jù)庫,完成數(shù)據(jù)庫初始化功能,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-05-05
  • JAVA設(shè)計模式----建造者模式詳解

    JAVA設(shè)計模式----建造者模式詳解

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)建造者模式Builder Pattern,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論

调兵山市| 保山市| 德清县| 介休市| 广丰县| 化州市| 英吉沙县| 冕宁县| 西昌市| 丘北县| 嵩明县| 民丰县| 宿松县| 紫阳县| 乐都县| 百色市| 鹤岗市| 额尔古纳市| 江西省| 萍乡市| 康乐县| 伊川县| 称多县| 广河县| 通道| 乐山市| 常熟市| 崇义县| 双牌县| 来安县| 台山市| 元氏县| 绥芬河市| 镇平县| 邯郸县| 星子县| 密云县| 民县| 岑巩县| 师宗县| 花莲县|