resultMap自定义映射---8.3.1. 解决列名(表中的字段名称)和实体类中的属性名不一致

时间:2023-02-11 22:57:51

1.1.1.1.      步骤一:将驼峰匹配注释掉 --------------测试完成后仍然 回来开启  其他地方可能用到

一旦注释掉驼峰匹配,那么再通过queryUserById查询的结果中,用户名就无法封装了,此时我们可以尝试使用ResultMap来解决这个问题。

resultMap自定义映射---8.3.1.	解决列名(表中的字段名称)和实体类中的属性名不一致

1.1.1.2.      步骤二:在UserMapper.xml中配置resultMap

<!--

resultMap标签:可以自己配置对象属性和表字段的映射(不仅仅是驼峰规则的映射)

type属性:结果集的封装类型

id属性:唯一标识

autoMapping属性:如果不配置,默认为true。对其他属性进行自动映射。

-->

<resultMap type="User" id="userResultMap" autoMapping="true">

<!-- id标签:配置主键映射,column:表中的字段名称,property:属性名称 -->

<id column="id" property="id"/>

<!-- 可以用来配置普通类型字段和属性映射(非复杂类型) -->

<result column="user_name" property="userName"/>

</resultMap>

1.1.1.3.      步骤三:在statement中引用自定义resultMap

<!--

select:查询的statement,用来编写查询语句。

id:语句的唯一标识,使用动态代理之后,必须和mapper接口中的方法名称一致。

resultType:配置返回的结果集类型

parameterType:参数类型,可以省略。

-->

<!-- resultMap:引用自定义结果集的唯一标识 -->

<select id="queryUserById" resultMap="userResultMap">

select * from tb_user where id = #{id}

</select>

测试无误

注意:测试完记得将驼峰命名的配置重新开启,因为其他的测试方法还要用。

resultMap自定义映射---8.3.1. 解决列名(表中的字段名称)和实体类中的属性名不一致的更多相关文章

  1. MyBatis系列二 之 数据库列名于程序实体类中字段名称不一致

    MyBatis系列二  之   数据库列名于程序实体类中字段名称不一致 情景:当数据库中的列名与我们程序实体类中的字段名称不一致         使用ResultMap节点配置信息  在映射文件中  ...

  2. Hive分区表新增字段及修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作

    一.Hive分区表新增字段 参考博客:https://blog.csdn.net/yeweiouyang/article/details/44851459 二.Hive修改表名,列名,列注释,表注释, ...

  3. SpringBoot08 请求方式、参数获取注解、参数验证、前后台属性名不一致问题、自定义参数验证注解、BeanUtils的使用

    1 请求方式 在定义一个Rest接口时通常会利用GET.POST.PUT.DELETE来实现数据的增删改查:这几种方式有的需要传递参数,后台开发人员必须对接收到的参数进行参数验证来确保程序的健壮性 1 ...

  4. 解决SpringDataJpa实体类中属性顺序与数据库中生成字段顺序不一致的问题

    一.在application.yml配置中添加数据库根据实体类自动创建数据库表的配置(这里数据库采用MySQL数据库) jpa: database: MYSQL show-sql: true #Hib ...

  5. Mybatis中实体类中的字段跟对应表的字段不一致时解决办法

    解决字段名与实体类属性名不相同的冲突 实体类字段: public class Order { private int id; private String orderNo; private float ...

  6. 字段名与属性名不一致问题 通过resultMap解决

  7. 关于entityframework 自动生成实体类中加验证的属性重新生成后属性被覆盖解决办法

    1.手动创建一个部分类 (你可以手动创建 partial class, 内容为空) [MetadataType(typeof(AppleMetadata))] public partial class ...

  8. JSON&period;net 在实体类中自定义日期的格式

    定义日期格式转换类,其继承 IsoDateTimeConverter,代码如下: public class DateTimeConverter : IsoDateTimeConverter { pub ...

  9. 利用反射将IDataReader读取到实体类中效率低下的解决办法

    最开始使用反射一个类型的各个属性,对气进行赋值的代码如下: public static List<T> ToList<T>(IDataReader reader) { //实例 ...

随机推荐

  1. 系统安全&colon;Nessus Home版安装使用

    1.安装  下载地址:http://www.tenable.com/products/nessus/select-your-operating-system#tos 安装命令:rpm -ivh  Ne ...

  2. openal-1&period;13 静态编译&lpar;mingw32&rpar;

    1.CMakeLists.txt SET(LIBTYPE SHARED) 改成 SET(LIBTYPE STATIC) 2.include/al/al.h 删除 dllexport 3.include ...

  3. SQL2008无法启动&comma;报错&quot&semi;17051

    解决办法: 第一步:进入SQL2008配置工具中的安装中心, 第二步:再进入维护界面,选择版本升级, 第三步:进入产品密钥,输入密钥 Developer: PTTFM-X467G-P7RH2-3Q6C ...

  4. 软件测试技术(六)——白盒测试之控制流覆盖准则+Visual Studio 2013单元测试

    一.目标程序 单片机发送的A/D转换结果的整体格式为:[DLE][STX]Message[CHKSUM][DLE][ETX],其中[]括号中的字符为16进制的助记符,并非ASCII码.其中:[DLE] ...

  5. 每天一个Linux命令(2):cd

    转自:http://www.cnblogs.com/peida/archive/2012/10/24/2736501.html Linux cd命令可以说是Linux中最基本的命令语句,其他的命令语句 ...

  6. 编程之美 ---&gt&semi; 1&period;2中国象棋将帅问题

    上图,将帅不能碰面,列出将帅不碰面的所有可能情况,要求:程序只能用一个只有8位的变量(#define这样的就不算了) 为了更加符合程序员的口味,给将帅位置编号如下: 0--1--2 |    |   ...

  7. log4net根据日志类型写入到不同的文件中

    <?xml version="1.0"?> <configuration> <configSections> <!--log4net配置安 ...

  8. Linux内核中的list用法和实现分析

    这些天在思考知识体系的完整性,发现总是对消息队列的实现不满意,索性看看内核里面的链表实现形式,这篇文章就当做是学习的i笔记吧.. 内核代码中有很多的地方使用了list,而这个list的用法又跟我们平时 ...

  9. Intel VT-x 处于禁用状态

    出现错误"此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态"的问题,如下图. Intel VT-x 即Virtualization Technology, ...

  10. mongodb去除重复的数据

    里边的内容在某些情况下不可行,可以参考下一篇. 今天出现了一个新的需求,有个部门需要拿到mongodb中的数据,要求去掉其中一个字段内容相同的数据. 虽然mongodb中有distinct来去重,但是 ...