二:SQL映射文件
二:SQL映射文件
1.SQL映射文件:
(1)mapper:映射文件的根元素节点,只有一个属性namespace(命名空间)
作用:用于区分不同的mapper全局唯一
绑定dao接口即面向接口编程,当namespace绑定某一个接口之后可以不用谢该接口的实现类,namespace的命名必须和接口名相同
(2)cache:配置给定命名空间缓存。
(3)cache-ref:从其他命名空间引用缓存配置
(4)resultMap:用来描述数据库的结果集和对象的对应关系。
(5)sql:可以重用SQL块,也可以被其他语句引用。
(6)insert:映射插入语句
Update:映射更新语句
Delete:映射删除语句
Select:映射查询语句
2.resultMap查询展现:
(1)MyBatis中使用resultType做自动映射,一定要注意:字段名和POJO的属性名一定要保持一致
(2)resultType:直接表示返回类型,包括基础数据类型和负责数据类型
(3)resultMap:则是对外部resultMap的定义引用,对外部的resultMap的id,表示返回结果映射到哪一个resultMap上,
3.resulaMap高级结果映射:
(1)Association:映射到JavaBean的某个“负责类型”属性,比如javaBean类,即JavaBean内部镶嵌一个负责数据类型(JavaBean)属性,这种类型就属于负责数据类型关联,但是需要注意association仅处理一对一的关联关系。
(2)Collection:一对多嵌套在一个实体类中嵌套一个集合对象。
4.MyBatis缓存:
(1)一级缓存:
是基于perpetualCache(MyBatis)自带的本地缓存,作用范围是session域内,当session flush或者close之后,该session中的所有cache就会被清空
(2)二级缓存:
就是global caching 它超出session范围之外,可以被SqlSession共享,开启它只需要在.xml文件中配置即可(P65)
二:SQL映射文件的更多相关文章
- Mybatis(二) SQL映射文件
SQL映射文件 单条件查询 1. 在UserMapper接口添加抽象方法 //根据用户名模糊查询 List<User> getUserListByName(); 2. 在UserMappe ...
- Mybatis SQL映射文件详解
Mybatis SQL映射文件详解 mybatis除了有全局配置文件,还有映射文件,在映射文件中可以编写以下的顶级元素标签: cache – 该命名空间的缓存配置. cache-ref – 引用其它命 ...
- 初始MyBatis、SQL映射文件
MyBatis入门 1.MyBatis前身是iBatis,是Apache的一个开源项目,2010年这个项目迁移到了Google Code,改名为MyBatis,2013年迁移到GitHub.是一个基于 ...
- Mybatis sql映射文件浅析 Mybatis简介(三)
简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML为载体映射SQL 之前提到过,各项配置信息将Mybatis应用的整 ...
- 了解一下SQL映射文件
1:SQL映射文件 MyBatis真正强大之处就在于SQL映射语句,相对于强大的功能,SQL映射文件的配置非常简单,与JDBC相比减少了50%的代码.下面是关于SQL映射文件的几个顶级元素配置 map ...
- Mybatis sql映射文件浅析 Mybatis简介(三) 简介
Mybatis sql映射文件浅析 Mybatis简介(三) 简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML ...
- SQL映射文件-----MySQL关系映射【1对1,1对多,多对多】
SSM框架下,mapper.xml 中 association 标签和 collection 标签的使用 当数据库中表与表之间有关联时,在对数据库进行操作时,就不只是针对某一张表了,需要联表查询 My ...
- SQL映射文件
SQL映射文件的几个顶级元素 mapper - namespace cache - 配置给定命名空间的缓存 cache-ref – 从其他命名空间引用缓存配置 resultMap –用来描述数据库结 ...
- MyBatis -- sql映射文件具体解释
MyBatis 真正的力量是在映射语句中. 和对等功能的jdbc来比价,映射文件节省非常多的代码量. MyBatis的构建就是聚焦于sql的. sql映射文件有例如以下几个顶级元素:(按顺序) cac ...
随机推荐
- 系统出现异常: too many values to unpack (expected 2)
先感谢[ValueError: too many values to unpack](http://leonzhan.iteye.com/blog/1720315)系统出现异常:打开太多值(预期2)这 ...
- JS封装运动框架(另一种写法)
function animate(obj, json, interval, sp, fn) { clearInterval(obj.timer); //var k = 0; //var j = 0; ...
- 使用siege对web接口进行post方式的压力测试
为了达到压力测试的效果,需要申请一台线上机器,并且安装压力测试的工具siege. 安装新版siege.资料说yum安装的版本2.70对于post方式支持的不好,验证后发现请求可以正常发过去,但是打开d ...
- 动态IP解析
本文介绍两种方便获取主机动态IP的方式(DDNS,IP报告网页),并给出相应的代码实现. shell脚本获取本机IP,执行上传操作和更新DNS操作.定期执行通过crontab或者systemd等服务. ...
- 手动打包MVC项目成Web Deploy包,发布至服务器
①确保服务器上安装了Web Deploy,可以使用微软Web Paltform Installer安装.https://www.microsoft.com/web/downloads/platform ...
- python3.6安装pyspider
win10下安装pyspider 1.pip 我在安装pip的时候默认安装了Pip. 如果没有的话:pip安装 2.PhantomJS PhantomJS 是一个基于 WebKit 的服务器端 Jav ...
- MV45AFZZ 销售订单的增强
***INCLUDE MV45AFZZ . *---------------------------------------------------------------------* * FORM ...
- java如何调用接口方式二
java如何调用接口 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适,所以,问题来了,java如何调用接口?很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对 ...
- LINUX 笔记-特定shell变量
$# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的进程ID号 $@ 与$*相 ...
- 【JAVA零基础入门系列】Day10 Java中的数组
什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...