Mybatis的mapper.xml文件详解

【嵌入式】树莓派部署NCNN的YOLOv5模型 树莓派部署NCNN框架的YOLOv5模型 阅读详情

Mybatis的mapper.xml文件详解


    

1、#{}和${}的区别:

        #{}表示一个占位符号,#{}接收输入参数,类型可以是简单类型,pojo、hashmap。
        如果接收简单类型,#{}中可以写成value或其它名称。
        #{}接收pojo对象值,通过OGNL读取对象中的属性值,通过属性.属性.属性...的方式获取对象属性值。

        ${}表示一个拼接符号,会引用sql注入,所以不建议使用${}。
        ${}接收输入参数,类型可以是简单类型,pojo、hashmap。
        如果接收简单类型,${}中只能写成value。
        ${}接收pojo对象值,通过OGNL读取对象中的属性值,通过属性.属性.属性...的方式获取对象属性值。

2、selectOne和selectList的区别:
        selectOne表示查询出一条记录进行映射。
如果使用selectOne可以实现使用selectList也可以实现(list中只有一个对象)。

        selectList表示查询出一个列表(多条记录)进行映射。如果使用selectList查询多条记录,不能使用selectOne。
        如果使用selectOne报错:
        org.apache.ibatis.exceptions.TooManyResultsException:
        Expected one result (or null) to be returned by selectOne(), but found: 4

3、在映射文件中通过parameterType指定输入参数的类型。

4、在映射文件中通过resultType指定输出结果的类型。


5、resultType:

使用resultType实现较为简单,如果pojo中没有包括查询出来的列名,

需要增加列名对应的属性,即可完成映射。

如果没有查询结果的特殊要求建议使用resultType。


6、resultMap:

需要单独定义resultMap,实现有点麻烦,如果对查询结果有特殊的要求,

使用resultMap可以完成将关联查询映射pojo的属性中。

resultMap可以实现延迟加载,resultType无法实现延迟加载。


6.1、resultMap:

使用association和collection完成一对一和一对多高级映射(对结果有特殊的映射要求)。

association:

作用:将关联查询信息映射到一个pojo对象中。

场合:为了方便查询关联信息可以使用association将关联订单信息映射为用户对象的pojo属性中,

比如:查询订单及关联用户信息。

使用resultType无法将查询结果映射到pojo对象的pojo属性中,根据对结果集查询遍历的需要选择使用resultType还是resultMap


collection:

作用:将关联查询信息映射到一个list集合中。

场合:为了方便查询遍历关联信息可以使用collection将关联信息映射到list集合中,

比如:查询用户权限范围模块及模块下的菜单,

可使用collection将模块映射到模块list中,将菜单列表映射到模块对象的菜单list属性中,

这样的作的目的也是方便对查询结果集进行遍历查询。如果使用resultType无法将查询结果映射到list集合中。



7、友情链接

     Mybatis入门例子

     mybatis官网




基于simulink的多能源系统协同控制的复杂场景实例:氢燃料电池+锂电池混合动力电动汽车能量管理仿真 本文介绍了基于Simulink的氢燃料电池与锂电池混合动力电动汽车能量管理系统的建模与仿真方法。系统包含驾驶循环输入、氢燃料电池、锂电池、能量管理和电机驱动等模块,通过Simulink实现各模块的协同控制。文章详细说明了从模型创建到性能评估的完整流程,包括驾驶循环输入设置、燃料电池和锂电池子系统建模、能量管理策略设计等关键步骤。该仿真模型可验证不同工况下的系统响应和能量利用效率,为优化混合动力汽车的能量管理策略提供有效工具。通过引入更复杂的物理细节和环境因素,可进一步提升模型的实用性和准确性。 阅读详情

相关推荐

【通信协议】I2C总线(一主多从)

I2C总线(一主多从)之软件模拟代码详解

m0_75090944的博客 9847

Mybatis Plus语法+示例

一、Mybatis plus环境搭建 创建数据库表: -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` bigint(20) NOT NULL, `NAME` varchar(32) CHARACTER SET utf8 COLLATE utf8_gen...

诚的博客 3073

利用LDA进行主题建模,用困惑度和一致性曲线选取最优主题数

如果困惑度和一致性曲线效果图较好,确定了主题数量后,再单独跑一下2里面的程序。2中topic为5是我主观设置的,不一定为最优。

m0_56327159的博客 4223

关于Mybatis-plus使用

目录 入门 配置日志 CRUD 主键生成策略 更新操作 自动填充 乐观锁 查询操作 分页查询 删除操作: 逻辑删除​ 性能分析插件 条件构造器 代码自动生成​器 入门 创建数据库 mybatis_plus 创建user表 DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT

asa134124的博客 2001

Minitab田口设计实战:如何用正交试验优化遗传算法参数(附完整操作步骤)

本文详细介绍了如何利用Minitab田口设计进行遗传算法参数优化,通过正交试验方法显著提升效率。文章涵盖实验设计、Minitab操作步骤、结果分析及高级技巧,帮助工程师快速掌握这一工业级优化技术,实现算法性能的显著提升。

wind6的博客 866

快手did did_gt edid的注册过程

接口 https://gdfp.ksapisrv.com/rest/infra/gdfp/report/kuaishou/android did 是本地生成的16进制 或者 获取的 android_id did_gt 是did生成时间戳 1595073601970 public static final Random f16237a = new Random(System.currentTimeMillis()); public static long m19668a() {  &n

HURUWO的技术博客 1万+

MyBatis中mapper.xml中foreach的使用

MyBatis中mapper.xml中foreach的使用 Author:kak          MySql的动态语句foreach,当传入参数为数组或者集合时需要通过foreach标签进行遍历,其主要是在in条件中,可以在SQL语句中迭代一个集合; 综述 <foreach collection="dto.orderStatusList" item="item" index="index" open="("

Willing卡卡的博客 1万+

面试篇 - LoRA(Low-Rank Adaptation) 原理

输出示例:trainable params: 262,144 || all params: 6,742,016,000 || trainable%: 0.0039。论文实验显示:零初始化 BB 可使初始损失与预训练模型相差不足0.1%,而非零初始化可能差50%+。若初始 ΔW≠0,模型可能立即偏离预训练学到的知识(如GPT-3突然忘记如何造句)。:如同汽车改装,先保持原厂配置(W),再逐步加装新部件(ΔW),避免直接飙车失控。:大模型的权重变化矩阵 ΔWΔW 通常是低秩的(少数主成分主导变化)。

qq_60245590的博客 1155

MyBatisPlus封装SQL语句

最近对MyBatisPlus的学习有推进了一些,打算对MyBatisPlus对SQL语句的封装进行一个大概的总结。 1.selectList(null) mapper.selectList(null); SQL运行结果: SELECT id,name AS title,age,create_time,update_time,version,status,deleted FROM user 这是从user数据表中查找全部数据,并且还有一个知识点就是name AS title这个其实用到了注解:

weixin_46704406的博客 2229

基于STM32的家庭环境监测毕业设计(全部资料)

本文设计并实现了一套基于STM32的家庭环境监测系统,具备温湿度、烟雾浓度和PM2.5检测功能,通过OLED屏实时显示数据,并能自动或手动控制风扇、加湿器等设备。系统采用分层架构设计,包含数据采集、处理、显示和控制执行模块,经测试性能稳定可靠。研究结果表明,该系统能有效提升家庭环境监测与控制的智能化水平,但仍存在传感器精度和智能化程度不足等问题,未来可进一步优化硬件配置并引入AI算法提升性能。

3254968421的博客 463

基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法

基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法

a_zxswer的博客 193

mybatis:mapper接口中使用@Select注解,返回列表

mybatis:mapper接口中使用@Select注解,返回列表

听海边涛声 1385

STM32F407上优化CAN总线通信(500kbps速率,多终端系统)需要从硬件设计、软件配置和实时性能三个方面进行综合优化

STM32F407上优化CAN总线通信(500kbps速率,多终端系统)需要从硬件设计、软件配置和实时性能三个方面进行综合优化

a_zxswer的博客 383

MyBatis Mapper XML文件详解

MyBatis Mapper XML文件详解首先需要澄清几个概念: namespace 就是Mapper XML对应的Java接口名. 联合查询: 也就是多表的各种join查询 关联映射: 也就是嵌套映射, 用在一个POJO中包含其他POJO的情况 Mapper XML顶级配置元素 cache 启用本xml对应的namespace的二级缓存 cache-ref 共享指定namespace的二级缓存

congyh的专栏 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Mybatis的mapper.xml配置文件——详解

&amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;amp;gt; select * from user where id = #{id} select * from orders

qq_42780864的博客 4万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

springboot整合mybatis,对于mapper文件扫描,和xml扫描详解

springboot整合mybatis,对于mapper文件扫描,和xml扫描详解 使用idea创建springboot项目(这里不做主要讲解) 1.准备连接数据库(用自己的配置:192.168.10.* 3306 xl root 123456 2.导数据库相关包: <dependency> <groupId>org.myba...

qq_30633867的博客 5565

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

Mybatis 中 Mapper XML文件详解

MyBatis 真正的力量是在映射语句中。这里是奇迹发生的地方。对于所有的力量,SQL 映射的 XML 文件是相当的简单。当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 95%的代码量。MyBatis 的构建就是聚焦于 SQL 的,使其远离于普通的方式。SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):cache – 配置给定命名空间的缓存。cache

俊逸豪杰的小天地 985

Mybatis映射文件详解-mapper.xml文件

Mybatis是一个Java持久层框架,它提供了一种简单易用的方式来访问和操作数据库。在Mybatis中,映射文件(Mapper XML)起到了至关重要的作用,它们定义了SQL语句与Java方法之间的映射关系。

是程序喵呀 2828

5.MyBatis学习之Mapper XML文件详解

5.1 CRUD 标签 5.1.1 select select --- 书写查询sql语句 select -- 几个属性说明 id属性:当前名称空间下的statement的唯一标识,必须,要求:id和mapper接口中的方法的名称一致; resultType属性:将结果集映射为java的对象类型,必须(和resultMap 二选一) parameterType属性:传入参数类型,可以省略; 标签内部:具体的sql语句 5.1.2 insert insert -- 书...

Mr.junjun的博客 830

MyBatis映射文件Mapper.xml详解

映射文件是 MyBatis 框架中十分重要的文件 可以说, MyBatis 框架的强大之处就体现在映射文件的编写上。在映射文件中,<mapper>元素是映射文件的根元素,其他元素都是它的子元素。 Select元素 <select>元素用来映射查询语句,它可以帮助我们从数据库中读取出数据。如下代码所示: <select id="findCustomerById" pa...

共勉 7209

Mybatis的mapper.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"> <!-- namespace:填写映射当前的Mapper接口,所有的增删...

这里记录着我一点一滴的进步 1127

MyBatis Mapper XML 文件 的学习详解

[size=medium]Mapper.xml文件示例[/size] [code="java"] user_id, username, email, password, tuijian_userid, paypassword, logintime ...

轻装上阵 212

MyBatis之Mapper XML 文件详解(一)

MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):cache – 给定命名空间的缓存配置。cache-ref

qiangcuo6087的博客 1216

【2】Mybatis核心配置文件mybatis-config.xml、mapper.xml详解

4、配置解析 1、核心配置文件 mybatis-config.xml 系统核心配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 能配置的内容如下: configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) t

Kuber 1635

MyBatis之Mapper XML 文件详解(一)

MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):cache – 给定命名空间的缓存配置。 cache-re...

IT哈哈的博客 448

Mybatis 3.1中 Mapper XML 文件 的学习详解

MyBatis 真正的力量是在映射语句中。这里是奇迹发生的地方。对于所有的力量,SQL 映射的 XML 文件是相当的简单。当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 95%的代码量。MyBatis 的构建就是聚焦于 SQL 的,使其远离于普通的方式。 SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 配置给定命名空间

ccecwg的专栏 521
上一篇: Mybatis的mapper.xml文件详解
下一篇: Redis 与 spring 整合简单教程
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值