Jtti广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >基于mybatis查询结果映射不到对象的处理
  • 567
分享到

基于mybatis查询结果映射不到对象的处理

mybatis查询结果映射不到对象结果映射 2019-07-01 23:07:04 567人浏览 绘本
摘要

目录mybatis查询结果映射不到对象项目场景问题描述原因分析解决方案mybatis结果映射遇到的问题错误如下解决方案mybatis查询结果映射不到对象 项目场景 使用mybatis+SpringBoot 进行数据库的数据查询操作,一直拿不

目录
  • mybatis查询结果映射不到对象
    • 项目场景
    • 问题描述
    • 原因分析
    • 解决方案
  • mybatis结果映射遇到的问题
    • 错误如下
    • 解决方案

mybatis查询结果映射不到对象

项目场景

使用mybatis+SpringBoot 进行数据库的数据查询操作,一直拿不到返回结果。

问题描述

后端dao层(service层调mapper,方法的返回结果一直null)代码一直空指针,

APP 中接收数据代码:


 //分类名称
        Integer bloGCateGoryId = blog.getBlogCategoryId();//这里有数据  22
        BlogCategory category = blogCategoryMapper.getCategoryById(blogCategoryId);//这里返回结果就一直null
        blog.setBlogCategoryName(category.getCategoryName());//导致这里一调用方法就报空指针了。

原因分析

仔细检查了代码(debug),controller层+ service层没问题,那问题坑定再dao层。检查xml文件,但发现xml文件中查询方法的sql代码写的没问题:


 <select id="getCategoryById" parameterType="java.lang.Integer" resultType="com.hhh.blog.entity.BlogCategory">
        SELECT
            category_id,
            category_name,
            category_icon,
            category_rank,
            create_time,
            is_deleted
        FROM
            tb_blog_category
        WHERE
            category_id = #{blogCategoryId}
    </select>

这里理论上没啥问题,但特么的就是数据库的数据映射不到对象中(实体类都是按照数据库数据对应的,只多不少)。

解决方案


resultType=“com.hhh.blog.entity.BlogCategory”

返回结果改成使用映射:


<select id="getBlogCategoryPage" resultMap="getBlogCategoryPageMap">

  <resultMap id="getBlogCategoryPageMap" type="com.hhh.blog.entity.BlogCategory">
        <id column="category_id" jdbcType="INTEGER" property="categoryId" />
        <result column="category_name" jdbcType="VARCHAR" property="categoryName" />
        <result column="category_icon" jdbcType="VARCHAR" property="categoryIcon" />
        <result column="category_rank" jdbcType="INTEGER" property="categoryRank" />
        <result column="is_deleted" jdbcType="TINYINT" property="isDeleted" />
        <result column="create_time" jdbcType="DATE" property="createTime" />
    </resultMap>

开启驼峰式命名匹配也可能解决上述问题。没试过。建议自己搞起来

mybatis结果映射遇到的问题

错误如下

org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in POJO.User matching [java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String]
### The error may exist in Mapper/UserMapper
### The error may involve test.selectUserById
### The error occurred while handling results
### SQL: SELECT * FROM USER WHERE id=?
### Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in POJO.User matching [java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String]

解决方案

最后,将User构造器中int改为Integer即可、

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程界。

--结束END--

本文标题: 基于mybatis查询结果映射不到对象的处理

本文链接: https://www.lsjlt.com/news/86.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mybatis关联查询结果集对象嵌套的具体使用
    在查询时经常出现一对多”的关系,所有会出现嵌套对象的情况,Mybatis在resultMap提供了collection标签,本文适合有一定Mybatis基础的读者查阅 数...
    203
    2023-10-01
    Mybatis关联查询对象嵌套 Mybatis对象嵌套关联查询
  • 怎么在shell中处理mysql查询结果
    这篇文章给大家介绍怎么在shell中处理mysql查询结果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先理清要了解shell脚本的数组与字符串的一些特性:str=("hello" &q...
    741
    2023-10-01
  • mysql导出查询结果
    mysql -u 用户名 -p 密码 -D 数据库名 -e "select * from tbl_user i join tbl_role a o...
    695
    2023-10-01
    mysql 导出 查询
  • PHP查询语句怎么查询结果
    这篇“PHP查询语句怎么查询结果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP查询语句怎么查询结果”文章吧。一、连接数...
    590
    2023-10-01
  • shell判断变量是否含某个字符串的6种方法
    目录方法一:利用grep查找方法二:利用字符串运算符方法三:利用通配符方法四:利用case in 语句方法五:利用替换方法六:利用expr,如果包含会返回位置方法一:利用grep查找 strA="long string"...
    574
    2023-10-01
    shell判断字符串包含 shell判断字符串
  • mysql如何统计查询结果
    本篇内容介绍了“mysql如何统计查询结果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    1313
    2023-10-01
    mysql
  • MySQL如何合并查询结果
    今天小编给大家分享一下MySQL如何合并查询结果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    398
    2023-10-01
    mysql
  • 基于mybatis高级映射多对多查询的实现
    1.同以前一样,首先给一个使用多对多的需求,要查询用户以及用户所购买的商品信息,经过分析用户和商品数据库级别没有任何关系,用户和商品需要建立关系,要通过订单,订单明细建立关系。根据这个需求,可以分析出需要查询的主表为:查询主表:用户表查询关...
    503
    2023-10-01
    mybatis 高级映射 多对多
  • JPA如何将查询结果转换为DTO对象
    目录前言例子mysql数据库表联合查询的需求sql语句如何在JPA中映射为DTO对象例子涉及的部分源代码前言 JPA支持使用@Query自定义查询,查询的结果需要字节用DTO对象接收...
    552
    2023-10-01
    JPA查询结果 转换DTO对象 JPA查询 查询结果转DTO对象
  • 关于MyBatis结果映射的实例总结
    目录前言简单字段映射利用 constructor 指定构造方法利用 association 关联一个复杂类型利用 collection 关联多个复杂类型查询具有树形结构的数据参考资料...
    368
    2023-10-01
    mybatis结果集映射方式有几种 mybatis 映射 mybatis 结果集映射
  • MySQL查询数据之合并查询结果的案例
    小编给大家分享一下MySQL查询数据之合并查询结果的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!.利用union...
    919
    2023-10-01
    mysql
  • 使用索引来排序查询结果
    使用索引来排序查询结果在MongoDB中,排序操作可以通过从索引中按照索引顺序获取文档的方式来保证结果的有序性。如果查询计划器(planner)无法从索引中得到排序顺序,那么它将需要在内存中排序结果。相比于...
    909
    2023-10-01
    index sort mongodb
  • mysql中怎么拼接查询结果
    mysql中怎么拼接查询结果,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  ...
    585
    2023-10-01
    mysql
  • SQL如何限制查询结果
    小编给大家分享一下SQL如何限制查询结果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL查询结果只显示指定的行项目。举例:只...
    821
    2023-10-01
    sql
  • python怎么获取sql查询结果
    使用python获取sql查询结果的方法:1.新建python项目;2.导入MySQLdb模块;3.使用MySQLdb.connect()方法创建数据库连接;4.使用cursor.execute()方法执行sql查询语句;5.使用curso...
    356
    2023-10-01
    python
  • navicat premium如何导出查询结果
    本文小编为大家详细介绍“navicat premium如何导出查询结果”,内容详细,步骤清晰,细节处理妥当,希望这篇“navicat premium如何导出查询结果”文章能帮助大家解决疑...
    457
    2023-10-01
    navicat premium
  • Linq中怎么分析查询结果
    这篇文章给大家介绍Linq中怎么分析查询结果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用Linq查询结果:如果查询结果是强类型的,如string[],List等,就可以不用var类型,而是使用合适的 IEnume...
    219
    2023-10-01
  • 如何使用LINQ查询结果
    这篇文章主要介绍了如何使用LINQ查询结果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用LINQ查询结果如果查询结果是强类型的,如string[],List<T&g...
    246
    2023-10-01
  • php怎么输出sql查询结果
    这篇文章主要介绍php怎么输出sql查询结果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php是什么意思php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语...
    938
    2023-10-01
  • PHP中处理SQL查询结果的常用函数有哪些
    这篇文章主要为大家展示了“PHP中处理SQL查询结果的常用函数有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP中处理SQL查询结果的常用函数有哪些”这篇文章吧。mysqli_fetch...
    165
    2023-10-01
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作