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

mybatis返回map類型數(shù)據(jù)空值字段不顯示的解決方案

 更新時間:2022年03月10日 10:47:18   作者:生命不息_戰(zhàn)斗不止  
這篇文章主要介紹了mybatis返回map類型數(shù)據(jù)空值字段不顯示的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis返回map數(shù)據(jù)空值字段不顯示

查詢sql添加每個字段的判斷空

IFNULL(rate,'') as rate

ResultType利用實(shí)體返回

不用map

springMVC+mybatis查詢數(shù)據(jù)

返回resultType=”map”時,如果數(shù)據(jù)為空的字段,則該字段省略不顯示,可以通過添加配置文件,規(guī)定查詢數(shù)據(jù)為空是則返回null。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL MAP Config 3.1//EN"
? ? "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
? <settings>
? ? <setting name="callSettersOnNulls" value="true"/>
? </settings>
</configuration>

spring-mybatis.xml

<!-- spring和MyBatis完美整合,添加mybatis的配置映射文件 -->
? <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
? ? <property name="dataSource" ref="dataSource"/>
? ? <property name="configLocation" value="classpath:mybatis-configuration.xml"/>
? ? <!-- 自動掃描mapping.xml文件 -->
? ? <property name="mapperLocations" value="classpath:mapping/*.xml"></property>
? </bean>

如果想要配置rate的默認(rèn)值,例如“”字符串,則可以建立一個類,實(shí)現(xiàn)Mybatis的TypeHandler接口

public class EmptyStringIfNull implements TypeHandler<String> {
? ? @Override
? ? public String getResult(ResultSet rs, String columnName) throws SQLException {
? ? ?return (rs.getString(columnName) == null) ? "" : rs.getString(columnName);?
? ? }
? ? @Override
? ? public String getResult(ResultSet rs, int columnIndex) throws SQLException {
? ? ?return (rs.getString(columnIndex) == null) ? "" : rs.getString(columnIndex);
? ? }
? ? @Override
? ? public String getResult(CallableStatement cs, int columnIndex) ? throws SQLException {
? ? ?return (cs.getString(columnIndex) == null) ? "" : cs.getString(columnIndex);
? ? }
? ? @Override
? ? public void setParameter(PreparedStatement ps, int arg1, String str, JdbcType jdbcType) throws SQLException { }}

在sql.xml文件定義與使用如下如下

<resultMap id="find" type="java.util.LinkedHashMap">
? ? <result property="name" column="name" />
? ? <result property="phone" column="phone" />
? ? <result property="rate" column="rate" typeHandler="com.mybatis.EmptyStringIfNull"/>
</resultMap>

mybatis返回map空值未返回字段

mybatis 開啟CallSettersOnNulls

@Bean
public SqlSessionFactory sqlSessionFactoryBean() throws Exception
{
? ? SqlSessionFactoryBean sqlSessionFactoryBean = new ?? ? SqlSessionFactoryBean();
? ? sqlSessionFactoryBean.setDataSource(dataSource());
? ? Configuration configuration = new .Configuration();
? ? configuration.setCallSettersOnNulls(true);//map返回空字段消失問題
? ? PageInterceptor pagePlugin = new PageInterceptor();
? ? JalorResultSetInterceptor jalorResultSetPlugin = new JalorResultSetInterceptor();
? ? ProgramInterceptor programPlugin = new ProgramInterceptor();
? ? //添加插件
? ? sqlSessionFactoryBean.setPlugins(new Interceptor[] {pagePlugin, jalorResultSetPlugin, programPlugin});
? ? sqlSessionFactoryBean.setConfiguration(configuration);
? ? return sqlSessionFactoryBean.getObject();
}

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

相關(guān)文章

  • Java中StringTokenizer的用法簡介匯總

    Java中StringTokenizer的用法簡介匯總

    StringTokenizer?是出于兼容性的原因而被保留的遺留類(雖然在新代碼中并不鼓勵使用它),建議所有尋求此功能的人使用?String?的?split?方法或?java.util.regex?包,本文給大家整理了Java?StringTokenizer用法,感興趣的朋友一起看看吧
    2022-07-07
  • Java隨機(jī)密碼生成并和郵箱、手機(jī)號匹配

    Java隨機(jī)密碼生成并和郵箱、手機(jī)號匹配

    這篇文章主要介紹了Java隨機(jī)密碼生成并和郵箱、手機(jī)號匹配的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Java完全二叉樹的創(chuàng)建與四種遍歷方法分析

    Java完全二叉樹的創(chuàng)建與四種遍歷方法分析

    這篇文章主要介紹了Java完全二叉樹的創(chuàng)建與四種遍歷方法,結(jié)合實(shí)例形式分析了完全二叉樹的概念、定義及遍歷操作相關(guān)實(shí)現(xiàn)技巧,并對比分析了滿二叉樹與完全二叉樹的區(qū)別,需要的朋友可以參考下
    2017-11-11
  • Java Swing組件下拉菜單控件JComboBox用法示例

    Java Swing組件下拉菜單控件JComboBox用法示例

    這篇文章主要介紹了Java Swing組件下拉菜單控件JComboBox用法,結(jié)合具體實(shí)例形式分析了Swing組件下拉菜單控件JComboBox的具體定義、使用方法及相關(guān)使用注意事項(xiàng),需要的朋友可以參考下
    2017-11-11
  • SpringCache框架加載/攔截原理詳解

    SpringCache框架加載/攔截原理詳解

    這篇文章主要介紹了SpringCache框架加載/攔截原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java 將方法作為傳參--多態(tài)的實(shí)例

    java 將方法作為傳參--多態(tài)的實(shí)例

    下面小編就為大家?guī)硪黄猨ava 將方法作為傳參--多態(tài)的實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 詳解@ConfigurationProperties實(shí)現(xiàn)原理與實(shí)戰(zhàn)

    詳解@ConfigurationProperties實(shí)現(xiàn)原理與實(shí)戰(zhàn)

    這篇文章主要介紹了詳解@ConfigurationProperties實(shí)現(xiàn)原理與實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java基礎(chǔ)之反射技術(shù)相關(guān)知識總結(jié)

    Java基礎(chǔ)之反射技術(shù)相關(guān)知識總結(jié)

    今天帶大家復(fù)習(xí)Java基礎(chǔ)知識,文中對Java反射技術(shù)介紹的非常詳細(xì),對正在學(xué)習(xí)Java的小伙伴們很有幫助,,需要的朋友可以參考下
    2021-05-05
  • java實(shí)現(xiàn)抖音代碼舞源碼

    java實(shí)現(xiàn)抖音代碼舞源碼

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)抖音代碼舞的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • String?concat(String?str)使用小結(jié)

    String?concat(String?str)使用小結(jié)

    這篇文章主要介紹了String?concat(String?str)使用小結(jié),在了解concat()之前,首先需要明確的是String的兩點(diǎn)特殊性,一是長度不可變二是值不可變,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2022-11-11

最新評論