Mybatis官方文档中的(XML映射文件)模块(半途凉了)
Mybatis官方文档中的(XML映射文件)模块(半途凉了)
一、XML映射器属性的介绍
Mybatis的真正强大之处在于它的语句映射。他即可以自动的映射数据库中的字段和对象的属性。
SQL映射文件有几个比较重要的元素:
1.cache:改命名空间的缓存配置
2.cache-ref:引用其他命名空间的缓存配置
3.resultMap:描述如何从数据库结果集中加载对象,是最复杂、最重要同样最强大的元素。(重点重点重点)
4.sql:可被其他语句引用的可重用语句块
5.insert、update、delete、select:分别是映射插入、更新、删除、查询操作语句。
二、结果映射(resultMap)的解释
resultMap的属性:
constructor:用于在实例类时,注入结果到构造方法中
idArg:ID参数;标记出作为ID的结构可以帮助提高整体性能
arg:将被注入到构造方法的一个普通结果。
id:一个ID结果;标记出作为ID的结果可以帮助提高整体性能
result:注入到字段或javaBean属性的普通结果
association:一个复杂类型的关联;许多结果将包装成这种类型
嵌套结果映射-关联可以是resultMap元素,或是对其他结果映射的引用
**collection_**一个复杂类型的集合
嵌套结果映射-集合可以是resultMap元素,或是对其他结果映射的引用
discriminator:使用结果值来决定使用那个resultMap
case:基于某些值得结果映射
嵌套结果映射-case也是一个结果映射,因此具有相同得结构和元素;或者引用其他得结果映射。
ResultMap的属性列表
1.id&result
<id property="user_id" column="user_id"></id>
<result property="username" column="username"></result>
这些元素是结果映射的基础。id和result的元素都将一个列的值映射到一个简单数据类型的属性或者字段
这两者之间唯一不同的是,id元素对应的属性会被标记为对象的标识符,在比较对象实例时使用。这样可以提高整体的性能,尤其是进行缓存和嵌套结果映射的时候
id和Result的属性
1.1jdbcType支持的JDBC类型
2.关联(association)
关联元素处理有一个类型的关系。比如:在我们的实例中,一个博客有一个用户。关联结果映射和其他类型的映射工作方式差不多。你需要指定目标属性名以及属性的javaType(很多时候Mybatis可以自己推断出来),在必要的情况下还可以设置JDBC类型,如果你想覆盖获取结果值得过程,还可以设置类型处理器。
Mybatis官方文档中的(XML映射文件)模块(半途凉了)相关推荐
- Mybatis官方文档及使用简记
Mybatis官方文档及使用简记 数据库建表 入门案例 无mapper类最传统的用法 使用mybatis generator 使用mybatis-generator mybatis-spring整合 ...
- 如何快速掌握oracle,教你如何快速从 Oracle 官方文档中获取需要的知识
以下链接可查看 11g 到 20c 的在线官方文档. https://docs.oracle.com/en/database/oracle/oracle-database/index.html 如图, ...
- lagou-mybatis-3:mybatis官方文档
官方文档 官方文档中关于延迟加载的属性配置 设置名 描述 有效值 默认值 lazyLoadingEnabled 延迟加载的全局开关.当开启时,所有关联对象都会延迟加载. 特定关联关系中可通过设置 fe ...
- MyBatis官方文档-XML 映射文件
最近更新: 15 七月 2019|版本: 3.5.2 文章目录 XML 映射文件 insert, update 和 delete sql 结果映射 高级结果映射 结果映射(resultMap) id ...
- Mybatis官方文档解读
跟着Mybatis的官方文档总结一下.~ 简介 什么是mybatis? mybatis是一款优秀的持久层框架,它支持自定义SQL,存储过程以及高级映射.Mybatis免除了所有的JDBC代码以及 设置 ...
- Mybatis官方文档——入门
入门 安装 要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于 classpath 中即可. 如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 ...
- Pygame 官方文档 - 中译版
pygame 文档 Pygame之家[Pygame Home] 帮助内容[Help Contents] 指导索引[Reference Index] 最有用的东西 [Most useful stuff] ...
- TensorFlow官方文档中的sub 和mul中的函数已经在API中改名了
照着tensorflow 官方文档学习tensorflow时,出现问题: 第一,执行程序 #进入一个交互式Tensorflow会话 import tensorflow as tf sess = tf. ...
- MyBatis 学习(七):深入 Mapper XML映射文件
深入 Mapper XML映射文件 一.Mapper XML映射文件 二.select 查询语句 三.insert.update 和 delete 四.sql 元素 五.参数(Parameters) ...
最新文章
- How can I create an Asynchronous function in Javascript?
- Vue.js not detected 解决办法
- 【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端
- P4768 [NOI2018] 归程(kruskal 重构树)
- vue 指令 v-if v-else-if v-else
- 频率法:数组排序的另一种思路
- [转载] 生成对角矩阵 numpy.diag
- DB2 SQLCODE 异常大全编辑(四)
- 基于html5的城市公交查询系统,城市公交在线查询系统的设计与实现
- 我的实用小软件(持续更新)
- 神舟笔记本风扇偏移调多少_神舟战神怎么调节风扇我们该办正事了
- vmware虚拟机设置静态ip地址
- python spark pyspark——朴素贝叶斯习题整理
- Python基础知识——字符串:format() 字符串的格式化
- 有关clipToPadding、 clipChildren的那些事
- 【C】C课程设计-驾校考试模拟系统
- HTML5期末大作业:个人网站设计——拾艺客个人设计工作室(6个页面) HTML+CSS+JavaScript...
- Callbacks API-EarlyStopping
- YDOOK:STM32: F1系列Cortex-M3基础型MCU 介绍
- 又是一年高考季,Python爬虫数据分析家庭亲情剧《小欢喜》
热门文章
- Ubuntu crontab 定时 python 详细
- basic code
- 【WCF】服务并发中的“可重入模式”
- 对PostgreSQL源代码中的build_jion_rel的理解
- ​无需聚类,杭电学者提出基于软化相似度学习的无监督行人再识别
- 【EI/Scopus检索】计算机主题征稿,AANN 2021诚邀您投稿参会!
- 百度AI 17篇 CVPR 2019 论文介绍(附下载)
- linux命令编写,Linux alias命令编写
- 初级java程序员怎样快速提升自己
- 【TensorFlow】TensorFlow函数精讲之tf.contrib.layers.flatten()