MyBatis配置文件resultMap可省略的情况

【MyBatis持久层框架】配置文件实现增删改查实战案例 我们为什么使用 MyBatis 开发呢?不难理解,MyBatis 作为一款优秀的持久层框架,支持自定义 sql,存储过程以及高级映射,它几乎免除了所有的 JBDC 代码以及设置参数和获取结果集的工作。解决了使用 JBDC 基础性的代码操作数据库时面临的 Java 代码的硬编码和操作繁琐的问题。 阅读详情

MyBatis的映射配置文件中的<resultMap>标签或该标签中的子标签<id>、<result>可省略。

一、bean中的属性名与数据库的字段名不同,无法省略<resultMap>。

User.java

public class User {
    private int idx;
    private String usernamex;
    private String passwordx;
    /*getter和setter方法省略*/
}



配置文件

    <!--column为数据库列名,property为bean的属性名,两者名字不相同的情况不能省略-->
    <resultMap id="userMap" type="com.yykj.beans.User">
        <id column="id" property="idx" jdbcType="INTEGER"/>
        <result column="username" property="usernamex" jdbcType="VARCHAR"/>
        <result column="password" property="passwordx" jdbcType="VARCHAR"/>
    </resultMap>
在这种情况下,<resultMap>下的每一个子标签代表了一个映射关系,不能省略。

若<resultMap>下的子标签都省略了,那么会生成一个null对象,并加入映射结果的List对象中,如果有任何一个子标签存在,则会生成一个bean对象,只有未省略的那一项标签的属性值不为null,其它都为null。

二、bean中的属性名和数据库的字段名,可以省略<resultMap>下的子标签。

User.java

public class User {
    private int id;
    private String username;
    private String password;
    /*getter和setter方法省略*/
}
配置文件
    <resultMap id="userMap" type="com.yykj.beans.User">
        <!--以下标签可以省略任意项,Mybatis会根据java反射机制自动识别。-->
<!--        <id column="id" property="id" jdbcType="INTEGER"/>
        <result column="username" property="username" jdbcType="VARCHAR"/>
        <result column="password" property="password" jdbcType="VARCHAR"/>-->
    </resultMap>
<resultMap>下的标签可以省略任意项,甚至可以全部省略。

三、bean中的属性名和数据库的字段名,可以不用<resultMap>,使用resultType替代。

    <select id="selectAllUser" resultType="com.yykj.beans.User">
        SELECT * FROM user
    </select>
MyBatis框架强大的功能都得益于Java的反射机制。



量子密钥分发系统的设计与实现(二):光路子系统初步讨论 本文主要对量子密钥分发系统中的光路子系统方案进行了讨论。 阅读详情

相关推荐

QGIS-空间分析-核密度分析

本文在QGIS软件中使用核密度估计法分析全球历年的地震数据,旨在分析出地震频发且严重的区域,为地震防控提供参考依据。全球历年地震数据来源于网络,仅用于技术学习探索。通过核密度分析,可以观察到南美、美国西部海岸线和太平洋北部区域在全球地震分布状态中是最为集中和强烈的。

imxiezy的博客 2467

mybatis---笔记一

Mapper.xml总结 Namespace:代表整个Mapper.xml的唯一标识,即命名空间 DML操作标签insert、update,delete, DQL标签:select parameterType:sql命令要绑定的参数类型,必须是全限定名,参数是javaBean对象不能省略parameterType 参数是简单类型(非javaBan...

司天宏的博客 490

PDN设计

作者:AirCity 2020.2.6 Aircity007@sina.com 本文所有权归作者Aircity所有 PDN设计的目的是降低电源纹波水平,减小电压跌落。我们通常要求LDO的文波水平是30mV,DCDC是50mV,超过这个就需要PDN设计。 PDN设计的方法是用不同的容值,合适的总电容量,降低电源平面与地平面之间的交流阻抗,确定容值总量和电容大小的过程,就是PDN设计过程。 为什么需...

AirCity123的博客 4148

resultMap

<resultMap id="UserMap" type="User"> <!-- column是数据库中的字段,property是实体类中的属性--> <id column="id" property="id"/> <id column="name" property="name"/> <id column="pwd" property="password"/> </re

初学java 920

为什么BGA焊点总在四个角先坏?一次热-振耦合仿真给你讲明白

本文通过Ansys Workbench进行热-振耦合仿真,深入分析了BGA焊点在四个角点先失效的机理。研究发现,角点焊点由于CTE失配、振动载荷放大及几何应力集中等因素,承受的等效塑性应变和动态应力显著高于中心区域,导致其疲劳寿命大幅降低。仿真数据揭示了角点焊点的应力分布和蠕变特性,为电子封装可靠性设计提供了重要依据。

weixin_42535461的博客 439

日语五十音图速记攻略:从形象联想法到实战训练

语言学习中的记忆编码与条件反射构建是高效掌握基础的关键。其核心原理在于通过将抽象符号与具象图像、故事或已知概念关联,利用大脑对视觉和叙事信息的天然高记忆效率,从而降低认知负荷,加速识别与反应速度。这一方法的技术价值在于将机械重复转化为意义联结,显著提升长期记忆的牢固度与提取速度。在日语学习这一具体应用场景中,五十音图作为表音文字系统,正是实践这一记忆技术的绝佳对象。通过系统化的形象联想、分组对比(如平假名与片假名的对应关系)以及间隔重复的实战训练,学习者可以高效攻克这一入门难关,为后续的词汇、语法学习铺设坚

weixin_29032489的博客 378

mybatis注意事项

一、建立Bean的妙用 1.private Integer id; 此定义的好处就是可以判断为空(if(id==null)) 成员变量:private 属性:get和set方法去掉get和set后首字母小写,即为属性 二、多表联查注意点: <select id="getOrdersByOid" resultMap="ordersMap"> se...

imaxonor的博客 358

手把手教你用STM32标准库写一个能OTA升级的Bootloader(附完整代码)

本文详细介绍了如何使用STM32标准库开发支持OTA无线升级的Bootloader系统,包括Flash分区规划、Bootloader核心实现、无线升级流程及安全校验机制。通过实战代码示例,帮助开发者快速掌握STM32固件升级技术,提升物联网设备的远程维护能力。

weixin_30181209的博客 264

Mybatis中resultMap标签解释

表单: javaBean: package com.pojo; public class Product { private String orderId; private String product; } package com.domain; import java.util.List; public class Order { private String ...

帅成一匹马 4555

Win10右键新建菜单丢了记事本?别慌!5分钟教你用注册表找回来(附权限设置避坑指南)

本文详细指导如何通过注册表编辑器恢复Win10右键新建菜单中丢失的记事本选项,包括重建键值结构、配置ShellNew项及设置权限等关键步骤。特别提供权限避坑指南,确保修改持久有效,帮助用户快速解决这一常见但困扰的问题。

weixin_31714129的博客 861

【Unity终极奥义】Unity打包去掉启动画面Logo,无需破解,一学就会

大家都知道Unity打包的应用在启动的时候都会有一个默认的UnityLogo。 而且这个Logo使用升级版和破解版都是可以随意清除和更换的。 但是Unity个人版是无法通过Unity的打包设置去进行更换的。 那今天就教大家一个使用个人普通版更换Unity启动画面Logo的方法!一起来看一下吧!

努力前行,总会成为自己心中的那道光 8万+

Mybatis中的xml文件resultMap引用其他文件的resultMap

被引用xml文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.demo.mymall.mbg.mapper.UmsRoleMapper"> <resultMap id

weixin_40660221的博客 6579

STM32 HAL SDADC DMA

由于项目需要使用STM32F373单片机的SDADC功能对电位计进行检测,网上资料比较少,踩了很多坑,下面进行总结。

weixin_44597885的博客 1198

Mybatis的resultMap中各个标签解释

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dao.IRoleDao"> <!--定义role表的ResultMap...

qq_37552636的博客 1738

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Mybatis一对多查询resultMap示例

The content of element type "resultMap" must match "(constructor?,id*,result*,association*,collection*,discriminator?)".

jeofey的专栏 3517

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MyBatis resultMap元素的结构及使用

<resultMap> 元素表示结果映射集,是 MyBatis 中最重要也是最强大的元素,主要用来定义映射规则、级联的更新以及定义类型转化器等。 <resultMap> 元素的结构 <resultMap> 元素包含了一些子元素,结构如下: <resultMap id="" type=""> <constructor><!--...

zag666的博客 1983

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Mybatis——mybatis的mapper映射配置文件、个别场景记录

mybatis的mapper映射配置文件详解 一、常用属性标签 1、namespace的作用 在MyBatis中,Mapper中的namespace用于绑定Dao接口的,即面向接口编程。namespace属性的值要和对应的Mapper接口的全限定名保持一致 它的好处在于当使用了namespace之后就可以不用写接口实现类,业务逻辑会直接通过这个绑定寻找到相对应的SQL语句进行对应的数据处理 2、常用标签介绍 insert,update,delete,select,sql,resultMap sql:可被其它

YR_112233的博客 7499

mybatis配置文件中resultType和resultMap的区别、mybatis自带的别名

resultType和resultMap的区别: resultMap 是在 mapper.xml 文件中通过 resultMap 节点定义出来的 returnType 是自定义的类 或者 jdk 自带的类、基本数据类型 定义一个 resultMap: &amp;amp;amp;amp;amp;amp;lt;resultMap id=&amp;amp;amp;amp;amp;quot;BaseResultMap&amp;amp;amp;amp;amp;quo

猎人在吃肉 8358

mybatis两张表的删除_mybatis中resultMap配置细则

概览先来看看resultMap中都有那些属性:<resultMap> <constructor> <idArg/> <arg/> </constructor> <id/> <result/> ...

weixin_31435039的博客 1235

mysql resultmap_MyBatis resultMap元素的结构及使用

元素表示结果映射集,是 MyBatis 中最重要也是最强大的元素,主要用来定义映射规则、级联的更新以及定义类型转化器等。 元素的结构 元素包含了一些子元素,结构如下: 元素的 type 属性表示需要的 POJO,id 属性是 resultMap 的唯一标识。子元素 用于配置构造方法(当 POJO 未定义无参数的构造方法时使用)。子元素 用于表示哪个列是主键。子元素 用于表示POJO和数据表...

weixin_39844590的博客 543

MyBatis resultMap

元素表示结果映射集,是 MyBatis 中最重要也是最强大的元素,主要用来定义映射规则、级联的更新以及定义类型转化器等。

unber的博客 297

mybatis的mapper映射配置文件详解

一、标签介绍 insert,update,delete,select,sql,resultMap sql:可被其它语句引用的可重用语句块; resultMap:确定实体类属性与表中字段对应关系; 二、namespace的作用 在MyBatis中,Mapper中的namespace用于绑定Dao接口的,即面向接口编程。 它的好处在于当使用了namespace之后就可以不用写接口实现类,...

weixin_34238642的博客 221

十、MyBatis自定义映射resultMap

MyBatis自定义映射resultMap准备MyBatis自定义映射resultMap测试        当数据库表的字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射。下面是resultMap的演示。 准备 数据库表          t_student表 实体类对象     &n

baiqi123456的博客 1594
上一篇: java.lang.IllegalArgumentException: No converter found for return value of type:class 解决方案
下一篇: Java包装类对象比较中存在的问题
LiQiyaoo
博客等级 码龄11年 337粉丝 206原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值