当前位置:主页 > java教程 > Mybatis resultType返回结果为null

Mybatis resultType返回结果为null的问题排查方式

发布:2022-10-21 08:57:09 59


为网友们分享了Mybatis相关的编程文章,网友权智明根据主题投稿了本篇教程内容,涉及到resultType返回结果null、Mybatis resultType、resultType返回结果、Mybatis resultType返回结果为null相关内容,已被989网友关注,涉猎到的知识点内容可以在下方电子书获得。

Mybatis resultType返回结果为null

resultType返回结果为null的问题

sql语句大致如下

  <select id="findFinancialProductConfigList" resultType="com.xxx.FinancialProductConfigDTO">
    select  <include refid="Base_Column_List" />
    from fsc_xxx
    <where>
    ......
    <where>

resultType返回的FinancialProductConfigDTO类,属性名称都是以驼峰形式命名的,比如financialProductConfigId;而对应的数据库表里面的字段都是下划线形式的,如financial_product_config_id。

结果发现,返回的结果都是null,打印了SQL,确实查到了记录,因此判定是结果集和返回类型的字段映射问题。

之前一直以为Mybatis会自动把数据库下划线字段转换成POJO类(resultType对应的类)的驼峰属性字段,但是发现是自己记错了,这个Mybatis默认不会自动转换,所以返回结果为null,特此记录。

解决办法有下面几种

1、select 字段时,给数据库下划线字段加别名,改成对应的类驼峰属性字段,例如:

select financial_product_config_id as financialProductConfigId

2、不用resultType了,改用resultMap把下划线字段和驼峰字段对应上;

3、启用Mybatis的mapUnderscoreToCamelCase为true,这样就可以实现数据库下划线字段到POJO类驼峰形式的自动映射了。

resultType获取结果一些有值一些为null

前提使用框架:spring boot

原因

没有配置mybatis驼峰命名规则且使用的是返回的结果类型为resultType

配置如下

bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
@Bean(name = "sqlSessionFactory")
    public SqlSessionFactory sqlSessionFactoryBean(@Qualifier("datasource") DataSource datasource) {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        try {        
        bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
            return bean.getObject();
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持码农之家。


相关文章

  • 解决Mybatis逆向工程中使用Mysql8.0版本驱动遇到的问题

    发布:2019-06-18

    今天在使用 8.0.12 版的 mysql 驱动时遇到了各种各样的坑。这篇文章主要介绍了详解Mybatis逆向工程中使用Mysql8.0版本驱动遇到的问题,感兴趣的小伙伴们可以参考一下


  • MyBatisPlus分页时排序的实现

    MyBatisPlus分页时排序的实现

    发布:2022-09-12

    给网友朋友们带来一篇关于MyBatisPlus的教程,本文主要介绍了MyBatisPlus分页时排序的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • mybatis使用Integer类型查询可能出现的问题

    发布:2022-10-20

    给网友朋友们带来一篇关于mybatis的教程,这篇文章主要介绍了mybatis使用Integer类型查询可能出现的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • Mybatis动态SQL的实现示例

    Mybatis动态SQL的实现示例

    发布:2022-06-17

    给网友朋友们带来一篇关于Mybatis的教程,这篇文章主要介绍了Mybatis动态SQL的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • MyBatis一级缓存需要注意的地方

    发布:2020-02-01

    这篇文章主要给大家介绍了关于MyBatis一级缓存避坑的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学


  • Servlet+MyBatis项目转Spring Cloud微服务,多数据源配置实例详解

    发布:2020-01-15

    今天小编就为大家分享一篇关于Servlet+MyBatis项目转Spring Cloud微服务,多数据源配置修改建议,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧


  • 深入理解Mybatis分页插件使用方法

    发布:2020-02-29

    这篇文章主要为大家详细介绍了Mybatis分页插件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • Mybatis常见注解有哪些(总结)

    Mybatis常见注解有哪些(总结)

    发布:2022-06-19

    为网友们分享了关于Mybatis的教程,这篇文章主要介绍了Mybatis常见注解有哪些(总结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


网友讨论