解决resultMap映射数据错误的问题

目录
  • resultMap映射数据错误
    • 解决方案
  • 【报错】resultMap认知错误
    • 附图(修改过后的)

resultMap映射数据错误

mapper文件使用了resultMap进行一对多关系映射,不管怎么配置(没有问题)SQL语句查询出来的结果,和调用mapper代理对象产生的entry数据就是不一致。

解决方案

在mapper的sql语句中加上order by。

【报错】resultMap认知错误

数据库改了一个字段的名字,后来牵扯到实体类标准化都要改,原来以为,mybatis使用的sql语句都是通过resultMap映射后,可以使用后面的property,因为之前column的值都是和property的值都是一样的,今天才发现,汗颜,记录一下,希望以后不要再犯;

resultMap ,给这个Map映射起一个名字叫BaseResultMap,类型为Gropu类型;

然后,其中的内容,用result来对应,column-jdbcType-property;

第一项用id来对应,因为id的特殊性;

附图(修改过后的)

报错内容如下:

unknown column createDate;

这个Alias,也要改,因为这里sql语句也是用的数据库里面的字段

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

(0)

相关推荐

  • MyBatis中XML 映射文件中常见的标签说明

    SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出): cache – 对给定命名空间的缓存配置. cache-ref – 对其他命名空间缓存配置的引用. resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象. parameterMap – 已被废弃!老式风格的参数映射.更好的办法是使用内联参数,此元素可能在将来被移除. sql – 可被其他语句引用的可重用语句块. insert – 映射插入语句 update – 映射更新语句 delete –

  • 解决mybatis三表连接查询数据重复的问题

    此问题的产生,主要是数据库的字段名一样导致 三张表 DOCTOR JOB OBJECT 有问题的查询语句和查询结果是: SELECT d.*,j.*,o.* from (select d.*,rownum r from DOCTOR d where rownum<=6) d join job j on d.job_id=j.id join object o on o.id=d.object_id where r>0 <img src="https://img-blog.csdn

  • mybatis某些字段无法映射成功的解决

    随笔记录下: 刚刚遇到一个mybatis中reultMap定义正确column与property也都正确,字段的getset方法也都有,但是返回对象时,有些字段可以对应上有一些则不可以. 找了好久才发现在sql语句中的 resultMap 写成了 resultType... 很low但是痛.改成resultMap一切正常! 补充知识:MyBatis学习总结--解决字段名与实体类属性名不相同的冲突 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况

  • mybatis 解决从列名到属性名的自动映射失败问题

    问题背景 从数据库中取出数据映射到实体类时,实体类中只有部分属性映射成功,其余属性值皆为null. 问题描述 如下图AreaDao.xml文件中描述了queryArea()方法从数据库获取Area对象的各个属性值的查询过程,最后执行查询结果显示只有属性priority被成功地赋值 AreaDao.xml <select id="queryArea" resultType="com.imooc.wechatpro.model.Area"> SELECT a

  • 解决resultMap映射数据错误的问题

    目录 resultMap映射数据错误 解决方案 [报错]resultMap认知错误 附图(修改过后的) resultMap映射数据错误 mapper文件使用了resultMap进行一对多关系映射,不管怎么配置(没有问题)SQL语句查询出来的结果,和调用mapper代理对象产生的entry数据就是不一致. 解决方案 在mapper的sql语句中加上order by. [报错]resultMap认知错误 数据库改了一个字段的名字,后来牵扯到实体类标准化都要改,原来以为,mybatis使用的sql语句

  • 使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法

    今日使用时代互联的海外空间,sql 2008 无限空间大小,开通账户后,使用sql server management studio 2008 连接数据库,可以链接上,但是无法查看自己的数据库,点击数据库后,提示 无法为该请求检索数据 错误916 解决方法如下 1:点击左侧的数据库,然后到右侧的 "名称"  上面点击右键   出来如图所示的菜单,取消掉策略运行状态和排序规则,再次点击数据库的时候,就能显示所有的数据库以及你自己的数据库了.

  • 使用加载图片解决在Ajax数据加载中页面出现短暂空白的问题(推荐)

    在项目中用ajax异步获取数据后有时会因为数据问题或者网络问题,页面一直显示空白,现在用加载图片来过渡这种状态: <script> $(function(){ $.ajax({ url:'',//提供接口的文件地址链接 dataType:'json', type:'POST', beforeSend: function(){ $('#loading').html("<img src=\"images/loading.gif\" width=\"15

  • 解决vue.js 数据渲染成功仍报错的问题

    最近在做一个vue项目,用的是官方推荐的axios请求数据,数据结构是一级对象嵌套二级对象,发现一级对象数据渲染不报错,二级数据渲染报错.很是郁闷!data函数如下 export default { name: 'hello', data() { return { card:{} } } } 返回的数据如下: { "object":{ "subObject":"123", ... } } 报错的原因是在data函数return的card里没有二级

  • 解决android viewmodel 数据刷新异常的问题

    3年的wpf开发经验,自认为对数据驱动UI开发模式的使用不是问题,但当开始研究android的mvvm模式开发时,发现两年多的android开发经验已经将之前的wpf开发忘得7788了.感慨一下:人老了,记忆力就这么脆弱. 谈正题:adroid mvvm开发模式 之 viewmodel使用小麻烦. viewmodel public class MyViewModel extends ViewModel { private MutableLiveData<List<User>> mU

  • JavaScript 解决ajax中parsererror错误案例详解

    解决ajax的parsererror错误的终极办法(后台传给前台的数据json问题) 出现这个问题的原因是因为后台传给前台的数据出现了问题,ajax对于json的格式特别的严格 下面是会出现这个问题的ajax请求 $.ajax({ type:'get', url:"{php echo $this->createWebUrl('ajax',array('ac'=>'cunByXiangId'))}", data:{id:id}, dataType:'json',//这个地方是

  • 解决python3 json数据包含中文的读写问题

    python3 默认的是UTF-8格式,但在在用dump写入的时候仍然要注意:如下 import json data1 = { "TestId": "testcase001", "Method": "post", "Title": "登录测试", "Desc": "登录基准测试", "Url": "http://xxx

  • Swift解决UITableView空数据视图问题的简单方法

    前言 UITableView在现如今的APP中已经成为必不可少的一个控件,所以今天给大家带来UITableView在Swift中是如何实现的,下面这篇文章主要给大家介绍了关于Swift解决UITableView空数据视图的相关内容,下面话不多说了,来一起看看详细的介绍吧 tableView空数据问题 一般项目中tableView若数据为空时会有一个提示示意图 为了更好的管理这种提示示意图,笔者利用extension进行了简单的拓展 解决思路 利用swift面向协议的特点,使用协议来进行设置. 设

  • 解决vue接口数据赋值给data没有反应的问题

    问题: 就是我在接口赋值给了data的变量,然后组件的效果没有出来(我的是旋转效果) 代码如下: data() { return { slides: [] } }, mounted() { this.request() }, methods: { request() { this.$http.post('xxxxxxxxxxxx', {}, (res) => { if (is.object(res)) { if (res.status === 'succ') { this.slides = re

  • 快速解决mysql导数据时,格式不对、导入慢、丢数据的问题

    如果希望一劳永逸的解决慢的问题,不妨把你的mysql升级到mysql8.0吧,mysql8.0默认的字符集已经从latin1改为utf8mb4,因此现在UTF8的速度要快得多,在特定查询时速度提高了1800%! 但是如果时间等不及,就先用下面的办法快速解决一下. 问题一:格式不对(常出现时间格式不对的情况): 方法1:将excel文件另存为csv,再导入数据库: 方法2:导入的第一步时,默认编码方式是65001(UTF-8),可以尝试选择[10008 (MAC - Simplified Chin

随机推荐