MyBatis04&Oracle01

MyBatis的缓存【了解】

MyBatis除了可以完成对数据表数据增删改查,MyBatis自带了缓存机制。缓存可以加快查询效率。MyBatis的缓存有一级缓存和二级缓存。

一级缓存:SqlSession级别的缓存,一级缓存默认是开启的

二级缓存:namespace【Mapper】级别的缓存,默认是关闭的,需要手动开启。

  一级缓存

 二级缓存

MyBatis的二级缓存的使用条件:

1.必须在mybatis的全局配置文件中开启二级缓存

2.必须在对应mapper接口的sql映射文件中加一个cache标签

<cache/>

3.要求放入到二级缓存中的对象必须是实现了序列化Serializable的

 4.必须是在一级缓存关闭的情况下,一级缓存中的数据才会跑到二级缓存中。

 MyBatis的逆向工程

MyBatis的逆向工程是指:可以根据数据库中表直接生成表对应类,及操作类的Mapper接口和SQL映射文件。

MyBatis的逆向工程借助于MyBatis的生成器【MyBatis Generator:简称MBG】完成。

MyBatis的逆向工程:只能处理单表,对于有关联关系的表,没法直接处理。

例子:

 

Oracle

数据类型:

varchar():字符串
date:时间类型
number(10,2):数字类型

模糊查询:LIKE:

like支持通配符:
-:任意一个字符
%:任意多个任意字符
转义字符:select * from emp where ename like '_@_%' escape '@';

oracle中的函数:
单行函数:

处理字符串:UPPER()、LOWER()、INITCAP()、SUBSTR()、TRIM()、LENGTH()、REPLACE()。
SUBSTR('被截字符串',从哪个位置开始截取,截取的长度)
TRIM():去除前后空格
LENGTH():求长度
REPLACE('被替换字符串',‘要替换的字符串’,‘用来替换的字符串’)

处理时间:

日期类型只能进行加减操作,不能进行乘除操作。
· 日期 + 数字 = 日期,表示若干天之后的日期;
· 日期 – 数字 = 日期,表示若干天之前的日期;
· 日期 – 日期 = 数字,表示两个日期之间所经历的天数。

处理数值类型:

floor(),ceil()、abs()、sqrt()、power(2,3)

相互转换函数:

to_char()
to_date()
to_number()

通用函数:

nvl():类似于java中if语句
语法:数字 NVL(列,默认值)

decode():类似于java中switch...case语句
语法:数据 DECODE(列 | 数据,比较数据1,显示数据1,比较数据2,显示数据2 , …. [,默认返回])


多行函数【分组统计函数】

max、min、avg、count、sum    

count(*)与max(1):没区别:都是统计符合条件的行数
count(列):都是统计列部位null的行数
count(distinct 列):先去重,再统计行数

oracle分页:oracle不支持limit关键字

1.oracle要想实现分页必须借助于rownum
2.rownum不支持> 、>=、between...and
3.oracle分页借助于rownum的别名+子查询的方式

select *
from (
select rownum rn,empno,ename,job,sal 
from emp 
) tmp
where rn >=3 and rn <= 5


猜你喜欢

转载自www.cnblogs.com/bai3535/p/12109729.html