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

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

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

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

查詢sql添加每個(gè)字段的判斷空

IFNULL(rate,'') as rate

ResultType利用實(shí)體返回

不用map

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

返回resultType=”map”時(shí),如果數(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"/>
? ? <!-- 自動(dòng)掃描mapping.xml文件 -->
? ? <property name="mapperLocations" value="classpath:mapping/*.xml"></property>
? </bean>

如果想要配置rate的默認(rèn)值,例如“”字符串,則可以建立一個(gè)類,實(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();
}

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

相關(guān)文章

  • Java設(shè)計(jì)模式之責(zé)任鏈模式簡(jiǎn)介

    Java設(shè)計(jì)模式之責(zé)任鏈模式簡(jiǎn)介

    這篇文章主要介紹了Java設(shè)計(jì)模式之責(zé)任鏈模式,需要的朋友可以參考下
    2014-07-07
  • Java鏈表超詳細(xì)講解(通俗易懂,含源碼)

    Java鏈表超詳細(xì)講解(通俗易懂,含源碼)

    鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的引用鏈接次序?qū)崿F(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于Java鏈表超詳細(xì)講解的相關(guān)資料,本文講解的內(nèi)容通俗易懂,含源碼,需要的朋友可以參考下
    2022-09-09
  • Java類加載器ClassLoader的使用詳解

    Java類加載器ClassLoader的使用詳解

    類加載器負(fù)責(zé)讀取Java字節(jié)代碼,并轉(zhuǎn)換成java.lang.Class類的一個(gè)實(shí)例的代碼模塊。本文主要和大家聊聊JVM類加載器ClassLoader的使用,需要的可以了解一下
    2022-12-12
  • SpringCloud Ribbon負(fù)載均衡實(shí)例解析

    SpringCloud Ribbon負(fù)載均衡實(shí)例解析

    這篇文章主要介紹了SpringCloud Ribbon負(fù)載均衡實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java開發(fā)之Lombok指南

    Java開發(fā)之Lombok指南

    Lombok是一款Java開發(fā)插件,使得Java開發(fā)者可以通過其定義的一些注解來消除業(yè)務(wù)工程中冗長(zhǎng)和繁瑣的代碼,它能夠在編譯源代碼期間自動(dòng)幫我們生成這些方法,并沒有如反射那樣降低程序的性能。下面我們來詳細(xì)了解一下吧
    2019-06-06
  • 如何使用try-with-resource機(jī)制關(guān)閉連接

    如何使用try-with-resource機(jī)制關(guān)閉連接

    這篇文章主要介紹了使用try-with-resource機(jī)制關(guān)閉連接的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • IDEA 2022 CPU占用100%的問題及解決方法

    IDEA 2022 CPU占用100%的問題及解決方法

    這篇文章主要介紹了IDEA 2022 CPU占用100%問題及解決方法,其實(shí)解決方法很簡(jiǎn)單,只需要禁用三個(gè)插件然后重啟idea即可成功解決,需要的朋友可以參考下本文
    2022-08-08
  • Spring注解方式無法掃描Service注解的解決

    Spring注解方式無法掃描Service注解的解決

    這篇文章主要介紹了Spring注解方式無法掃描Service注解的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 淺談sql_@SelectProvider及使用注意說明

    淺談sql_@SelectProvider及使用注意說明

    這篇文章主要介紹了sql_@SelectProvider及使用注意說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java中CountDownLatch用法解析

    Java中CountDownLatch用法解析

    這篇文章主要為大家詳細(xì)介紹了Java中CountDownLatch用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評(píng)論

信丰县| 新余市| 密山市| 河北省| 互助| 宜川县| 广南县| 江西省| 灌南县| 儋州市| 石楼县| 古田县| 宁南县| 深泽县| 丹江口市| 星子县| 金门县| 略阳县| 武定县| 双鸭山市| 玉环县| 德兴市| 康马县| 彭阳县| 扶余县| 德清县| 滦南县| 灌阳县| 武夷山市| 伊川县| 南涧| 舟山市| 屏东市| 肇庆市| 商都县| 黄大仙区| 内江市| 呼和浩特市| 固安县| 郁南县| 普洱|