MyBatis在字段返回为null不返回字段

简介: MyBatis在字段返回为null不返回字段

引言


今天前端找到我说,我们返回数据的时候,即使没有值的时候,也需要保持原有的数据结构,也就说即使字段没有值我们应该将字段返回,否则前端在取值的时候会报NullPointerException,这是因为在用mybatis时没有用实体作为返回(用的是Map) 因此出现了 在返回参数为null的时候 不会返回字段。


解决方案:在mybatis-config.xml中配置:


<settings>  
      <setting name="cacheEnabled" value="true"/>   
        <setting name="callSettersOnNulls" value="true"/>  
    </settings>  

这样我们就可以完美解决上面的问题,但是现在我们都是使用spring和mybatis集成的框架,这样我们在配置文件中不能直接使用上面的设置,我们需要单独的创建一个mybatis的配置文件然后在spring-mybatis的配置文件中引入:

<bean id="saasSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="saasDataSource" />
    <!-- 实体对象 -->
    <property name="typeAliasesPackage" value="com.nicchagil.mybatis3spring3intg.bean" />
    <!-- 自动扫描mapping.xml文件 -->
    <property name="mapperLocations">
      <list>
        <value>classpath*:com/acs/saasdb/*/mapper/*Mapper.xml</value>
      </list>
    </property>
    <property name="configLocation" value="classpath:/spring/mybatis-config.xml"></property>
  </bean>

这样我们就可以解决上面的问题了,与君共勉!

目录
相关文章
|
3月前
|
Java 数据库连接 数据库
mybatis查询数据,返回的对象少了一个字段
mybatis查询数据,返回的对象少了一个字段
266 8
|
1月前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
2月前
|
SQL Java 数据库连接
mybatis如何仅仅查询某个表的几个字段
【10月更文挑战第19天】mybatis如何仅仅查询某个表的几个字段
91 1
|
3月前
|
存储 JSON BI
关于建表字段是否该使用not null这个问题你怎么看?
V哥分享了在数据库设计中使用 `NOT NULL` 的重要性及应用场景。关键字段如用户名和邮箱应设为 `NOT NULL` 以确保数据完整性;可选字段如中间名和个人资料图片允许 `NULL` 提供更多灵活性。`NULL` 还可用于表示未知状态,如未发货的订单。外键设计需根据业务逻辑决定是否使用 `NOT NULL`。此外,`NOT NULL` 可优化查询性能,但在扩展性和数据兼容性方面,允许 `NULL` 更具优势。结合业务需求和数据统计,合理使用 `NOT NULL` 可确保数据完整性和灵活性。
|
5月前
|
Java 数据库连接 数据库
mybatis plus 更新值为null的字段
mybatis plus 更新值为null的字段
67 7
|
4月前
|
SQL 关系型数据库 MySQL
mysql不等于<>取特定值反向条件的时候字段有null值或空值读取不到数据
对于数据库开发的专业人士来说,理解NULL的特性并知道如何正确地在查询中处理它们是非常重要的。以上所介绍的技巧和实例可以帮助你更精准地执行数据库查询,并确保数据的完整性和准确性。在编写代码和设计数据库结构时,牢记这些细节将有助于你避免许多常见的错误,提高数据库应用的质量与性能。
145 0
|
6月前
|
SQL Java 数据库连接
MyBatis-Plus更新使用null值
MyBatis-Plus更新使用null值
278 2
|
5月前
|
SQL 存储 索引
MySQL设计规约问题之为什么应该把字段定义为NOT NULL并且提供默认值
MySQL设计规约问题之为什么应该把字段定义为NOT NULL并且提供默认值
|
5月前
|
数据库
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
|
7月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之从MySQL同步数据到Doris时,历史数据时间字段显示为null,而增量数据部分的时间类型字段正常显示的原因是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。