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

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利用實體返回

不用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的默認值,例如“”字符串,則可以建立一個類,實現(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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java設計模式之責任鏈模式簡介

    Java設計模式之責任鏈模式簡介

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

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

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

    Java類加載器ClassLoader的使用詳解

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

    SpringCloud Ribbon負載均衡實例解析

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

    Java開發(fā)之Lombok指南

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

    如何使用try-with-resource機制關閉連接

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

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

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

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

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

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

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

    Java中CountDownLatch用法解析

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

最新評論

萨嘎县| 石屏县| 泸州市| 宿松县| 天等县| 若羌县| 榆中县| 遂宁市| 丰镇市| 西城区| 土默特左旗| 台北市| 梁山县| 炎陵县| 罗源县| 宁强县| 益阳市| 涟水县| 炉霍县| 万宁市| 桦南县| 龙门县| 曲靖市| 高陵县| 岳普湖县| 沭阳县| 信宜市| 兖州市| 镇平县| 湘潭市| 通辽市| 渭南市| 瑞金市| 棋牌| 田东县| 和龙市| 贵港市| 车险| 宿州市| 遂川县| 遂溪县|