mybatis resultMap没有全部对应的字段处理方式
目录
- resultMap没有全部对应的字段处理
- 记录说明
- 大坑之resultMap=Long
resultMap没有全部对应的字段处理
记录说明
在使用mybatis的时候,使用mapper将表记录和实体对应起来的方法大概有:resultType和resultMap两种。
resultType
,直接指定需要封装的实体,mybatis会利用反射,将数据库中字段对应到实体中的属性,对应规则是:下划线 对应为 驼峰,如:user_phone对应到userPhone。resultMap
,比上面的方法灵活一些,可以自己指定对应。
现在碰到的问题是:只有几个特殊的字段由于数据库字段和实体名字对应不上,需要手动写,但是其他大部分的属性和字段都是能正确对应的。如果我用resultMap,只写那几个特殊字段的对应关系,其他的字段能正确映射封装吗?意思就是:
我的实体是这样的
但是我的resultMap是这样的
只对应了四个字段,其他的字段我都没有手动映射,能正确封装进去吗?
结论是:可以的,你指定规则的,就安装指定规则来,如果没有指定规则,就按照默认的对应规则来.
大坑之 resultMap = Long
出现at com.sun.proxy.$Proxy28.selectList(Unknown Source)
原因是 resultMap = long 了
resultType="Long"
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
解决mybatis resultMap根据type找不到对应的包问题
目录 mybatis resultMap根据type找不到对应的包 resultmap和resulttype的一些使用误区 mybatis resultMap根据type找不到对应的包 mybatis resultMap根据type找不到对应的包,当将包名替换为全路径名时,程序又正常运行 这里需要配置typeAliasesPackage 自动配置别名 以下是项目中原有的别名扫描,但是我新建的mapper文件夹不在此路径下,没有别名设置所以报错. typeAliasesPackage定义多个时,用
-
mybatis的mapper.xml中resultMap标签的使用详解
1.前言 最近博主在做一个ssm框架的共享汽车管理系统,其中,数据库字段设计的有下划线方式,a_username,然后在写mapper.xml里面的sql语句的时候,一直出现查询语句查询的值为null的情况.或者是resultMap标签和驼峰规则不太明白的同学,可以看这里. 于是顺便梳理一下. 2.关于resultMap 2.1.什么是resultMap? 在mybatis中有一个resultMap标签,它是为了映射select查询出来结果的集合,其主要作用是将实体类中的字段与数据库表中的字段进
-
Mybatis中ResultMap解决属性名和数据库字段名不一致问题
目录 前言 1. 字段名不一致 解决方法: 第一种方式: 起别名 第二种方式: 结果集映射 resultMap 2. 多对一处理 3. 一对多处理 小结 前言 我们Pojo类的属性名和数据库中的字段名不一致的现象时有发生,简单的情况我们可以开启驼峰命名法解决大小写问题,但是遇到其它非大小写问题,我们就不得不使用Mybatis中的结果集映射resultMap. 1. 字段名不一致 数据库中的字段 我们项目中实体类的字段 public class User { private int id; pri
-
mybatis某些字段无法映射成功的解决
随笔记录下: 刚刚遇到一个mybatis中reultMap定义正确column与property也都正确,字段的getset方法也都有,但是返回对象时,有些字段可以对应上有一些则不可以. 找了好久才发现在sql语句中的 resultMap 写成了 resultType... 很low但是痛.改成resultMap一切正常! 补充知识:MyBatis学习总结--解决字段名与实体类属性名不相同的冲突 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况
-
mybatis resultMap没有全部对应的字段处理方式
目录 resultMap没有全部对应的字段处理 记录说明 大坑之resultMap=Long resultMap没有全部对应的字段处理 记录说明 在使用mybatis的时候,使用mapper将表记录和实体对应起来的方法大概有:resultType和resultMap两种. resultType,直接指定需要封装的实体,mybatis会利用反射,将数据库中字段对应到实体中的属性,对应规则是:下划线 对应为 驼峰,如:user_phone对应到userPhone. resultMap,比上面的方法灵
-
Mybatis resultMap标签继承、复用、嵌套方式
目录 resultMap标签继承.复用.嵌套 定义表与实体类 表 实体类 定义与表映射的resultMap 继承.复用.嵌套 使用resultmap需要注意的地方 resultMap标签继承.复用.嵌套 记录演示 Mybatis 中 resultMap 标签继承.复用(包括跨文件)以及多层嵌套的使用方法, 继承: 继承已存在的 resultMap 标签进行扩展 复用: 跨mapper文件引用现存的 resultMap 标签 嵌套: 多层嵌套的JavaBean与 resultMap 映射方法 定义
-
Mybatis resultMap标签继承、复用、嵌套方式
目录 resultMap标签继承.复用.嵌套 定义表与实体类 表 实体类 定义与表映射的resultMap 继承.复用.嵌套 使用resultMap需要注意的地方 resultMap标签继承.复用.嵌套 记录演示 Mybatis 中 resultMap 标签继承.复用(包括跨文件)以及多层嵌套的使用方法, 继承: 继承已存在的 resultMap 标签进行扩展 复用: 跨mapper文件引用现存的 resultMap 标签 嵌套: 多层嵌套的JavaBean与 resultMap 映射方法 定义
-
MyBatis查询时属性名和字段名不一致问题的解决方法
问题 当我们数据库中的字段和实体类中的字段不一致的时候,查询会出问题 数据库字段是 pwd id name pwd 1 张三 123456 2 李四 123456 3 王五 123456 4 赵六 123456 实体类字段是 password public class User { private int id; private String name; private String password; } 查出来结果发现, password 是 null User{id=1, name='张三
-
使用MyBatis返回其它类对象的字段处理
目录 MyBatis返回其它类对象的字段处理 需求 此时两种处理方式 MyBatis返回自定义字段接收 1.有时候需要查询的返回的结果不是javaBean的属性 2.DAO接口 3.后台取值 MyBatis返回其它类对象的字段处理 需求 在A.xml中联合查询A表所有字段及B表中的nikename字段,B表和A表没有关系但是和C表有关联,C表和A表有关联,其处理方式如下 1.sql先写好,比如当前只做A表所有符合条件的查询 SELECT * FROM sce_salegoods 2.取sce_u
-
MyBatis resultMap id标签的错误使用方式
目录 MyBatis resultMap id标签的错误使用 本节的问题主要是我对mybatis id标签的错误使用 resultMap标签的使用规则 自定义结果映射规则 association联合查询 使用association进行分布查询 collection分步查询 MyBatis resultMap id标签的错误使用 我们在编写VO对象,如果业务场景稍微复杂一点,就会用到集合属性.例如用户查看个人订单列表,每个订单又包含多种或者多个规格的商品. 本节的问题主要是我对mybatis id
-
mybatis返回map类型数据空值字段不显示的解决方案
目录 mybatis返回map数据空值字段不显示 查询sql添加每个字段的判断空 ResultType利用实体返回 springMVC+mybatis查询数据 mybatis返回map空值未返回字段 mybatis开启CallSettersOnNulls mybatis返回map数据空值字段不显示 查询sql添加每个字段的判断空 IFNULL(rate,'') as rate ResultType利用实体返回 不用map springMVC+mybatis查询数据 返回resultType=”m
-
mybatis自定义参数类型转换器数据库字段加密脱敏
目录 1 问题背景 2 解决方案 2.1 使用数据库加密算法 2.2 使用mybatis的自定义参数类型转换器 3 一般web项目使用 3.1 创建自定义Java类型 3.2 自定义类的转换处理器 3.3 配置自定义类型和类型转换器 3.4 查询使用 3.5 新增修改使用 4. springboot项目使用 4.1 配置自定义类型和类型转换器 4.2 mybatis-plus的使用 1 问题背景 在数据库存储人员的信息时,有一些信息是敏感数据,如身份证号.出生地等.为了防止信息泄漏,这些信息不允
-
oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
最近做项目遇到一个挺纠结的问题,由于业务的关系,DB的数据表无法确定,在使用过程中字段可能会增加,这样在insert时给我造成了很大的困扰. 先来看一下最终我是怎么实现的: <insert id="batchInsertLine" parameterType="HashMap"> <![CDATA[ INSERT INTO tg_fcst_lines(${lineColumn}) select result.*,sq_fcst_lines.next
-
Java的MyBatis框架中关键的XML字段映射的配置参数详解
properties 这些是外部化的,可替代的属性,这些属性也可以配置在典型的Java属性配置文件中,或者通过properties元素的子元素来传递.例如: <properties resource="org/mybatis/example/config.properties"> <property name="username" value="dev_user"/> <property name="pas
随机推荐
- ASP 处理JSON数据的实现代码
- PHP 获取远程文件大小的3种解决方法
- JavaScript中的Primitive对象封装介绍
- 用vbs检查注册表项的访问权限的代码
- WWW 与人际沟通和信息传递的关系
- Java中的对象流总结(必看篇)
- SpringMVC中controller返回json数据的方法
- javascript使用 concat 方法对数组进行合并的方法
- javascript记录文本框内文字个数检测文字个数变化
- 用js解决数字不能换行问题
- Android开发之文本内容自动朗读功能实现方法
- 浅谈JavaScript事件的属性列表
- 详解vue嵌套路由-params传递参数
- Windows下mysql5.7.18安装配置教程
- MySQL数据库操作的基本命令
- PHP 第二节 数据类型之字符串类型
- yarn的使用与升级Node.js的方法详解
- ASP.NET与Ajax的实现方式小总结
- 完全深入学习Bootstrap表单
- 使用Android自定义控件实现滑动解锁九宫格