resultMap处理字段和属性的映射关系

方式一:字段名与属性名不一致,用别名解决
select * from emp;select eid,emp_name as empName,age,sex,email from emp;别名方式
方式二:核心配置文件中setters标签配

setters标签配置mapUnderscoreToCamelCase属性,值设置为true是开户驼峰命名转换,默认是false是不开启驼峰命名转换

设置名 描述 有效值 默认值
mapUnderscoreToCamelCase 是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。 `true false`
 <settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings>
方式三:自定义映射关系

resultMap自定义标签相关的属性

父级标签

  1. resultMap:设置自定义映射关系
  2. id:唯一标识,不能重复
  3. type:设置映射关系中的实体类类型【就是查询结果给那个JavaBean赋值】

子标签:【重点理解】

  1. id:设置主键的映射关系

  2. result:设置普通字段映射关系

    属性:

    property:设置映射关系中的属性名,必须是type属性所设置的实体类类型中的属性名【就是type设置JavaBean类中的属性】

    column:设置映射关系中字段名,必须是sql语句查询出字段名【就是查询语句中的字段】

案例:

 <!--查询所有员工,并且使用resultMap解决字段名与属性名不一致问题--><!--resultMap:设置自定义映射关系id:唯一标识,不能重复type:设置映射关系中的实体类类型子标签:id:设置主键的映射关系result:设置普通字段的映射关系属性:property:设置映射关系中的属性名,必须是type属性所设置的实体类类型中的属性名column:设置映射关系中的字段名,必须是sql语句查询出的字段名--><resultMap id="empResultMap" type="Emp"><id property="eid" column="eid"/><result property="empName" column="emp_name"/><result property="age" column="age"/><result property="sex" column="sex"/><result property="email" column="email"/></resultMap><select id="getAllEmp" resultMap="empResultMap">select * from emp;</select>

综合案例

Mapper接口

public interface ResultMapper {/*** 查询所有员工,解决字段名与属性不一致三种方式*/List<Emp> getAllEmp();
}

Mapper.xml文件

<!--
/*** 查询所有员工,解决字段名与属性不一致三种方式*/List<Emp> getAllEmp();方式一:起别名<select id="getAllEmp" resultType="Emp">select eid,emp_name as empName,age,sex,email,did from emp;</select>方式二;设置全局[核心]配置文件开启驼峰命名<settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings>方式三:自定义映射文件
--><!--起别名--><select id="getAllEmpOld" resultType="Emp">select eid,emp_name as empName,age,sex,email,did from emp;</select><!--自定义映射文件--><resultMap id="empResultMap" type="Emp"><id property="eid" column="eid"/><result property="empName" column="emp_name"/><result property="age" column="age"/><result property="sex" column="sex"/><result property="email" column="email"/><result property="did" column="did"/></resultMap><select id="getAllEmp" resultMap="empResultMap">select * from emp;</select>

test

public class ResultMapperTest {SqlSession sqlSession = SqlSessionUtils.getSqlSession();ResultMapper mapper = sqlSession.getMapper(ResultMapper.class);@Testpublic void testField(){List<Emp> list = mapper.getAllEmp();list.forEach(emp -> System.out.println(emp));}
}

mybatis处理字段和属性的映射关系相关推荐

  1. mybatis解决字段和属性的映射关系3 - 通过resultMap设置自定义映射关系

    本节我们将探索mybatis解决字段和属性的映射关系3 - 通过resultMap设置自定义映射关系 目录 1.接口和pojo实体类 2.mapper映射文件 2.1 resultMap 2.2 re ...

  2. mybatis crud_MyBatis教程– CRUD操作和映射关系–第2部分

    mybatis crud 为了说明这一点,我们正在考虑以下示例域模型: 会有用户,每个用户可能都有一个博客,每个博客可以包含零个或多个帖子. 这三个表的数据库结构如下: CREATE TABLE us ...

  3. Mybatis使用Association解决多对一映射关系

    association :处理多对一的映射关系 property:需要处理的映射关系的属性名 javatype:该属性的类名 <resultMap id="empAndDeptResu ...

  4. mybatis crud_MyBatis教程– CRUD操作和映射关系–第1部分

    mybatis crud CRUD操作 MyBatis是一个SQL Mapper工具,与直接使用JDBC相比,它极大地简化了数据库编程. 步骤1:创建一个Maven项目并配置MyBatis依赖项. & ...

  5. Mybatis处理字段名和属性名不一致的几种方法

    Mybatis处理字段名和属性名不一致的几种方法 1.为查询的字段设置别名,和属性名保持一致2.当字段符合MySQL的要求使用,而属性符合Java的要求使用驼峰-此时可以在mybatis核心配置文件中 ...

  6. MyBatis教程– CRUD操作和映射关系–第2部分

    为了说明这一点,我们正在考虑以下示例域模型: 会有用户,每个用户可能都有一个博客,每个博客可以包含零个或多个帖子. 这三个表的数据库结构如下: CREATE TABLE user (user_id i ...

  7. ES-06-ElasticSearch映射关系

    说明 ElasticSearch映射关系(mapping) 常用数据类型:keyword.boolean.text.integer.long等.详细数据类型参考官方文档:https://www.ela ...

  8. Mybatis学习之数据库字段与实体属性的映射

    目录 准备 问题 方式一:给查询的字段起别名 方式二:修改核心配置文件mybatis-config.xml 方式三:通过resultMap自定义映射 准备 我们的表的字段以及表数据如下 生成的实体类的 ...

  9. MyBatis Plus——忽略某个实体类属性和数据库表字段之间的映射关系

    问题描述 在开发中可能会遇到MyBatis-Plus使用实体类属性进行SQL操作,但是不用存到数据库中去查找,这时候我们的实体中有这个属性,但是数据库的表中没有这个字段(即:实体类属性非数据库表字段) ...

最新文章

  1. c#语言编写汉诺塔游戏,c#实现汉诺塔问题示例
  2. 如何用计算机打出love,游戏中名字的LOVE怎么用符号打出来?
  3. python返回列表中出现次数最多的数
  4. 使用DataWorks来调度AnalyticDB任务
  5. MPI 环境搭建问题-运行程序闪退
  6. 1.3 c++程序的构成和书写形式
  7. Android开发学习笔记:数据存取之File浅析
  8. springSecurity jwt 如何融合
  9. python翻译爬虫_python 翻译爬虫
  10. 单片机c语言编程300例,51单片机C语言实例(350例)Proteus仿真和代码
  11. linux幻灯片制作工具,PPT2010幻灯片制作实用小技巧
  12. 【Android】小米开发应用App上线注册
  13. Python Scrapy 创建第一个爬虫项目
  14. 从零开始做单相逆变电源(软件)
  15. 1994年的计算机安全法规,1994年2月18日,我国颁布了(),这是我国第一个计算机安全法规,是我国计算机安全工作的总体纲领。...
  16. 量化选股策略模型大全
  17. 【The 13th Chinese Northeast Collegiate Programming Contest】I. Temperature Survey
  18. 简单的汇率转换工具---初试AJAX
  19. java项目中数据字典的实现
  20. 2018年工科生推免保研经历记录(含西交,上交,北航,浙大和清华等)

热门文章

  1. 移动web调式利器---Rosin研究
  2. JavaScript判断浏览器Flash Player信息
  3. MFC::error C2065: “IDD_DIALOG1”: 未声明的标识符 MFC线程中发送与处理自定义消息
  4. Zbush建模笔记_031_应表面机械手臂知识点01
  5. 360点睛计算机排名,公告中心
  6. 如何迁移网站到新的云服务器:以阿里云服务器和腾讯云服务器为例
  7. 金山毒霸10官方正式版
  8. AndroidStudio 安装及配置
  9. 环保数采仪污水处理远程监测解决方案
  10. 20210203_flink学习笔记