mybatis xml映射文件里select,update,delete,insert的Attributes(属性)

JavaWeb之Springboot原理与实战 启动SpringBoot项目的主入口程序 HelloController.java文件内容如下: 在浏览器输入localhost:8888/hello 三、Springboot3+MyBatis+Swagger整合实战 项目结构 数据库表结构 阅读详情

mybatis xml映射文件里select,update,delete,insert的Attributes(属性)

①select

属性说明
id在命名空间中唯一的标识符,可以被用来引用这条语句
parameterType将会传入这条语句的参数类的完全限定名或者别名。这个属性是可选的,因为mybatis可以通过TypeHandler推断出具体传入语句的参数,默认值为unset
resultType从这条语句中返回的期望类型的类完全限定名或别名,如果是集合,那应该是集合可以包含的类型,而不可以是集合本身,使用resultType或resultMap,但不可以同时使用
resultMap外部resultMap的命名引用。结果集的映射是mybatis最强大的特性,对其有一个很好的理解的话,许多复杂映射的情形都可以迎刃而解。使用 resultMap 或 resultType,但不能同时使用。
flushCache将其设置为true,任何时候只要语句被调用,都会导致本地缓存和二级缓存清空,默认值为false
timeout在抛出异常之前,驱动程序等待数据库返回请求结果秒数,默认值为unset(依赖驱动)
fetcheSize这是尝试影响驱动程序每次批量返回的结果 行数和这个设置值相等。默认值为 unset(依赖驱动)。
statementTypeSTATEMENT,PREPARED,CALLABLE的一个。这会让mybatis分别使用statement,preparredStatement或CallableStatement,默认值:PREPARED
resultSetTypeFORWARD_ONLY,SCROLL_SENSITIVE 或 SCROLL_INSENSITIVE 中的一个,默认值为 unset (依赖驱动)。
databaseId如果配置了 databaseIdProvider,MyBatis 会加载所有的不带 databaseId 或匹配当前 databaseId 的语句;如果带或者不带的语句都有,则不带的会被忽略。
resultOrdered这个设置仅针对嵌套结果 select 语句适用:如果为 true,就是假设包含了嵌套结果集或是分组了,这样的话当返回一个主结果行的时候,就不会发生有对前面结果集的引用的情况。这就使得在获取嵌套的结果集的时候不至于导致内存不够用。默认值:false。
resultSets仅对多结果集的情况适用,它将列出语句执行后返回的结果集并每个结果集给一个名称,名称是逗号隔开的。

②update,delete,insert

id,parameterType,timeout,statementType,datasbaseld这些属性是和select一样的效果

属性说明
flushCache将其设置为 true,任何时候只要语句被调用,都会导致本地缓存和二级缓存都会被清空,默认值:true(对应插入、更新和删除语句)。
useGeneratedKeys仅对insert,update有用,是mybatis使用jdbc的getGeneratedKeys方法来取出由数据库内部生成的主键(比如:像 mysql 和 sql Server 这样的关系数据库管理系统的自动递增字段),默认值:false。
keyProperty仅对 insert 和 update 有用,唯一标记一个属性。mybatis会通过getGeneratedKeys的返回值或通过insert语句的selectKey子元素设置它的键值。默认:unset。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。
keyColumn仅对 insert 和 update 有用,通过生成的键值设置表中的列名,这个设置仅在某些数据库,比如PostgreSQL,是必须的 ,当主键列不是表中的第一列时需要设置。。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。

selectKey

对于不支持自动生成类型的数据库或可能不支持自动生成主键 JDBC 驱动来说,MyBatis 有另外一种方法来生成主键。

selectKey给你了一个和数据库中来处理自动生成的主键类似的行为,避免了使 Java 代码变得复杂。

属性说明
keyPropertyselectKey 语句结果应该被设置的目标属性。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。
keyColumn匹配属性的返回结果集中的列名称。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。
resultType结果的类型。mybatis通常可以推算出来,但是为了更加确定写上也不会有什么问题。mybatis允许任何简单类型用作主键的类型,包括字符串。如果希望作用于多个生成的列,则可以使用一个包含期望属性的 Object 或一个 Map。
order这可以被设置为 BEFORE 或 AFTER。如果设置为 BEFORE,那么它会首先选择主键,设置 keyProperty 然后执行插入语句。如果设置为 AFTER,那么先执行插入语句,然后是 selectKey 元素 - 这和像 Oracle 的数据库相似,在插入语句内部可能有嵌入索引调用。

statementType效果和前面的效果是一样的

审计日志系统设计:从操作记录到可追溯链路 在系统设计中,日志不仅是排查故障的线索,更是数据安全与合规审查的基石。随着业务复杂度提升,企业普遍需要区分普通日志与操作日志,并建立完整的审计日志体系。审计日志关注“谁、何时、何地、对什么数据做了什么操作”,核心价值在于责任认定、数据追溯和合规审计。围绕日志采集、存储、检索与防篡改,技术方案通常依赖AOP切面、异步落库以及结构化日志输出,实现业务操作与审计记录解耦。在权限管理、电商平台、金融后台等场景中,可追踪的操作链路能快速定位数据变更原因,满足安全合规要求。本文从基础概念出发,结合真实业务场景,梳理审计 阅读详情

相关推荐

Java面试题

JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的类库。JRE(Java Runtime Environment),Java运行环境。JDK(Java Development Kit),Java开发工具包。如果重写了equals方法,equals比较的是对象的内容。如果没有重写equals,equals就相当于==;对于引用类型,==比较的是堆中内存对象的地址;对于基本类型,==比较的是栈中的值;

IAtlantiscsdn的博客 346

MyBatis学习总结之开发必备知识点

定义:MyBatis的本质是一种半自动的ORM框架,除了POJO和映射关系之外,还需要编写SQL语句 MyBatis 入参传值有3种方法: 使用map传递参数;虽然对于开发而言更加简单,但是维护人员不容易看懂。可读性差,导致可维护性和可扩展性差,杜绝使用;​ 使用注解传递参数;直观明了,当参数较少一般小于5个的时候,建议使用;​ 使用Java Bea...

qq_36958437的博客 183

制造业与工业知识图谱应用

在全球数字化转型背景下,制造业面临创新周期缩短、质量管控精细化等挑战。知识图谱技术通过结构化表示工业知识,为智能制造提供关键技术支撑。工业知识图谱具有专业性强、多源异构数据融合、实时性要求高等特点,其构建流程涵盖本体设计、知识抽取与整合等环节。研究显示,知识图谱与大模型结合可提升工业场景的智能化水平,在设备故障诊断、供应链优化等领域具有显著应用价值。该技术有望成为制造业数字化转型的核心驱动力。

分享一些感兴趣的技术方面 1433

MyBatis 映射文件简介

mybatis映射文件初识

zsy_yyds的博客 964

知识图谱中的 Ontology(本体论)

本文的部分图片和内容来自中国科学院自动化研究所刘康老师的课件 Ontology(本体论) Ontology 是(特定领域)信息组织的一种形式,是领域知识规范的抽象和描述,是表达、共享、重用知识的方法。 Ontology 是知识体系构建的关键技术,知识图谱是一种人工智能技术,它的关键在于让计算机能够处理人类的知识。然而,人类脑海中的知识通常是直觉性的,我们无法将这种直觉性的知识直接输入给计算机,On...

P01son的博客 2万+

COMSOL 6.4安装全攻略:安装包获取、许可证配置与避坑指南

多物理场仿真是现代工程与科研中不可或缺的技术手段,其核心原理在于将电磁、结构、流体、传热等不同物理过程的耦合效应置于统一环境中求解,从而真实模拟复杂系统行为。这类仿真平台能大幅提升产品研发与设计验证效率,广泛应用于电子散热、声学分析、电力设备等领域。在部署最新版本仿真软件时,安装与许可证配置往往成为影响工作效率的关键环节。本文系统梳理COMSOL 6.4在Windows平台的安装全流程,涵盖安装包获取、系统依赖准备、许可证配置、常见报错排查等实用经验,帮助工程师与科研人员一次性完成环境搭建,把更多时间投入真

weixin_30000735的博客 1308

springboot使用Mybatis(xml和注解)全解析

​  刚毕业的第一份工作是 java 开发,项目中需要用到 mybatis,特此记录学习过程,这只是一个简单 demo,mybatis 用法很多不可能全部写出来,有更复杂的需求建议查看 mybatis 的官方中文文档,点击跳转。下面时项目环境/版本。 开发工具:IDEA jdk 版本:1.8 springboot 版本:2.03 其他依赖版本见下面 pom.xml: <?xm...

weixin_30819085的博客 426

从零到一:基于STM8的125KHz RFID读卡器实现与曼彻斯特码解析实战

本文详细介绍了基于STM8单片机的125KHz RFID读卡器实现过程,重点解析了曼彻斯特码的编码原理与解码算法。通过硬件电路设计、软件实现及性能优化,帮助开发者低成本构建稳定读取EM4100卡片的系统,适用于门禁、考勤等应用场景。

weixin_42525211的博客 232

mybatis的SQL映射配置文件

SQL映射文件有很少的几个顶级元素(按照他们应该被定义的顺序如下)。   cache -  配置给定命名空间的缓存 cache-ref –  从其他命名空间引用缓存配置。  resultMap –  最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加载你的对象。 parameterMap –  已经被废弃了!老式风格的参数映射。内联参数是首选,这个元素可能在将来被移除。 sq

众里寻她千百度的专栏 487

SAP LSMW数据批导操作手册及跨客户端传输方法(涉及默认值配置,及多余字段如何删除)

SAP LSMW数据批导操作手册及跨客户端传输方法

我好像病了的博客 6084

最佳量化交易的计算机操作系统

本文在Creative Commons许可证下发布   我经常被问到的一个问题是:用哪种计算机操作系统和计算软件进行量化交易的理论研究和代码实现?   我想把这个问题简化,从挑选的计算软件和计算库来反推最佳使用的计算机操作系统。简而言之,就是在本文撰写的时候而言,如果你想进行基于任何严肃的数学理论和金融量化交易研究理论,这里特指机器学习或者深度学习。并且需要在本地研究机器上使用桌面版本,...

evilqliang的博客 2306

xml文件中在select语句设置resultType,在其他操作类型就不能出现resultType

原因是mybatis会默认返回int类型,之前如果在select中使用过resultType,后续的insert,delete都不能出现此操作。

weixin_41559555的博客 506

老款 NUC 复活计划:装 Ubuntu 部署 OpenClaw 本地 AI

老款 NUC 变身本地 AI 服务器指南 本文详细介绍了如何将老旧华硕 NUC 设备改造为本地 AI 服务器。主要内容包括: 硬件评估:列出老款 NUC 的最低配置要求(i3 6代/8GB内存/256GB SSD),并提供兼容性检查命令和性能预期表 系统准备:指导备份数据、下载 Ubuntu 22.04 LTS 和制作启动盘的方法(Windows/Linux双平台) 安装流程:从 BIOS 设置到 Ubuntu 安装的完整步骤,包括推荐的分区方案 系统优化:禁用不必要的服务、内核参数调优、Swap 配置和

博客 7606

MyBatis-Plus核心功能与实战优化全解析

MyBatis-Plus作为增强版ORM框架,通过智能化CRUD操作和条件构造器显著提升Java开发效率。其基于约定优于配置的设计理念,内置BaseMapper接口实现自动主键生成、逻辑删除等常见功能,减少样板代码编写。在复杂查询场景下,QueryWrapper支持Lambda表达式避免字段硬编码,结合分页插件可快速实现高性能数据分页。企业级应用中,多租户方案和乐观锁机制能有效处理SAAS系统与高并发场景,而逻辑删除与唯一索引的冲突解决方案体现了框架的工程实践深度。通过SQL执行分析监控与慢SQL预警,开发

weixin_34007020的博客 448

matlab 点云均值、中值、高斯滤波【2024最新版】

点云均值滤波、中值滤波、高斯滤波的matlab自带函数实现。博客长期更新,本文最近一次更新时间为:2024年11月9日。

点云侠的博客 5259

STM32F407中文手册

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

Springboot串讲

springboot快速工作指南

勇往直前的博客 1046

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Trafodion 自增序列

最近发现Trafodion在整合mybatis的时候不能使用useGenerateKeys="true"来设置自增主键。 后面了解了一下关于Trafodion实现自增列的方式。 Trafodion不能像MySQL那样设置主键自增,需要类似Oracle的方式使用到SEQUENCE 新建一个sequence testaaa; SQL>create sequence testaaa; --- SQL operation complete. SQL>showddl sequence te..

qq_40210804的博客 250

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Oracle - 批量操作FOR ALL,提升数据处理效率

Oracle - 批量操作 FOR ALL,提升数据处理效率 🚀 在企业级数据库应用中,Oracle 的 FORALL 语句是提升批量数据处理性能的关键工具。本文通过对比分析、原理剖析和实战演示,系统介绍了 FORALL 的高效应用。 核心要点 性能对比:FORALL 比逐行处理快 12.7 倍(万条数据测试) 工作原理: 单次 SQL 解析,批量执行 内部使用绑定数组,减少网络往返 服务端内存操作,降低上下文切换 Java 集成: 通过 JDBC 调用 PL/SQL 批量过程 使用 ARRAY 和 ST

千淘万漉虽辛苦,吹尽狂沙始到金 1万+

基于SpringBoot+Thymeleaf的校园课程推荐系统实战

推荐系统是解决信息过载的核心技术之一,其原理是通过分析用户行为与物品特征,计算相似度并生成个性化推荐。本教程从最基础的推荐概念出发,深入讲解基于内容的推荐策略与Jaccard相似度计算,结合Java生态中主流的服务端渲染方案——SpringBoot与Thymeleaf,手把手搭建一套完整的校园课程推荐系统。系统的后端采用分层架构,前端通过模板引擎直接渲染页面,无需额外构建Vue工程,极大降低了毕设开发门槛。文中完整覆盖登录注册、课程管理、选课记录、AI课程推荐及管理员后台等核心功能,并针对版本兼容、时区配置

365

全网最强JavaWeb笔记 | 万字长文爆肝JavaWeb开发——day14SpringBoot原理篇

万字长文爆肝黑马程序员2023最新版JavaWeb教程。这套教程打破常规,不再局限于过时的老套JavaWeb技术,而是与时俱进,运用的都是企业中流行的前沿技术。笔者认真跟着这个教程,再一次认真学习一遍JavaWeb教程,温故而知新,对JavaWeb开发也有了更加深入细致的了解。因此笔者做了全网最全面详细的学习笔记,通篇图文并茂,

qq_45832461的博客 1610

Shiro 入门

Apache Shiro是一个功能强大且易于使用的Java安全框架,提供身份认证、授权、加密和会话管理等功能。本文详细介绍了Shiro的核心架构(包括Subject、SecurityManager、Realm等组件)、认证授权流程、MD5与盐值加密、SpringBoot整合、缓存机制(EhCache和Redis)以及权限控制实现。通过实战示例演示了用户注册登录、基于角色和资源的权限控制、Freemarker整合等场景,帮助开发者快速掌握Shiro在企业级应用中的安全防护技术。文章还涵盖了验证码集成、自定义R

weixin_51689532的博客 812

Mybatis -> XML 映射器(select,insert, update 和 delete)

select 查询语句是 MyBatis 中最常用的元素之一——光能把数据存到数据库中价值并不大,还要能重新取出来才有用,多数应用也都是查询比修改要频繁。 MyBatis 的基本原则之一是:在每个插入、更新或删除操作之间,通常会执行多个查询操作。因此,MyBatis 在查询和结果映射做了相当多的改进。一个简单查询的 select 元素是非常简单的。比如: <select id="selectPerson" parameterType="int" resultType="hashmap"> S

rod0320的博客 1078

MyBatis 学习笔记(二)SQL映射XML文件标签 select、insert、update | XML获取多个参数 | MyBatis实现多表查询 | resultMap标签映射

文章目录参考资料一、MyBatis SQL映射文件——输入输出1.1 SQL映射的XML文件 *Mapper.xml1.2 mapper 标签1.3 select 标签1.4 XML中获取传入的参数1.4.1 多参案例(一)模糊查询1.4.2 多参实例(二)parameterType模糊查询1.5 insert 标签1.6 update 标签1.7 delete 标签1.8 小结二、MyBatis SQL 映射文件 ——复杂查询2.1 SQL查询 - 关联表(外键关系)2.2 对象关联2.3 resultT

希望每天都能进步一点点 2500

JAVA之Mybatis学习(第二天)

一.Log4J 1.由apache推出的开源免费日志处理的类库. 2.为什么需要日志: 2.1在项目中编写System.out.println();输出到控制台,当项目发布到tomcat后,没有控制台(在命令行界面能看见.),不容易观察一些输出结果. 2.2log4j作用,不仅能把内容输出到控制台,还能把内容输出到文件中.便于观察结果. 3.使用步骤: 3.1导入log4j-xxx.jar 3.2在src下新建log4j....

qq_42574729的博客 254

mybatis实战记录(

1.参数是一个对象 2.参数是基本类型 3.参数有list,有list嵌套 4.出参有list属性,list嵌套

qq_31564573的博客 270

Mybatis中Mapper.xml文件中的update语句写法

update CT_SYS_DUTYREAL DUTYREAL_UID = #{dutyrealUid,jdbcType=DECIMAL}, DUTYRULE_ID = #{dutyruleId,jdbcType=DECIMAL}, DUTYREAL_ST = #{dut

sdzhangshulong的博客 8万+
上一篇: mybatis实现二级缓存
下一篇: mybatis关联关系映射
water_java
博客等级 码龄7年 9粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值