MyBatis学习总结(一)

概念:它提供一种“半自动化”的ORM现实。
这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM现实而言,“全自动”ORM现实了POJO和数据库之间的映射,以及SQL的自动生成和执行。而MyBatis的着力点,则在于POJO与SQL之间的映射关系。

ORM(Objext/Relation Mapping,对象/关系数据库映射):它是一种规范,描述了对象与关系数据库之间的映射基本特征。

ORM框架:它通过现实ORM规范,完成面向对象的编程语言到关系数据库的映射。它可以把关系型数据库封装成对象,解决面向对象编程语言与底层关系数据库不协调的问题。它是面向对象编程言语与关系数据库之间的桥梁。

ORM映射基本规则
- 类与表相对应
- 类的属性(成员变量)与表的字段相对应
- 类的实例与表中具体的一条记录相对应
- 一个类可以对应多个表,一个表也可以对应多个类
- 数据库中的表可以没有主键,但是类的实例中必须设置主键字段
- 数据库中表与表之间的关系(如外键)映射成为对象之间的关系
- 对象中属性(成员变量)的个数和名称可以和表中定义的字段个数和名称不一样

数据源
数据源是一种提高数据库连接性能的常规手段,数据源会负责维持一个数据连接池,当程序创建数据源实例时,系统会一次性得创建多个数据库连接,并把这些数据库连接保存在连接池中。
当程序需要进行数据库访问时,无须进行重新获取数据库连接,而是从连接池中取出一个空闲的数据库连接。当程序使用数据库连接访问数据库结束后,无须关闭数据库连接,而是将数据库连接归还给数据库连接池即可。

POOLED:
这是JDBC连接对象的数据源连接池的现实,用来避免创建新的连接实例时必要的初始连接和认证时间。

缓存使用注意事项:
1.只能在只有单表操作的标上使用缓存
不只是要保证这个表在整个系统中只有单表操作,而且和该表有关的全部操作必须全部在一个namspace下
2.查询操作远大于更新、插入和修改查找操作的情况下使用缓存
如果表中数据频繁的更新、插入和修改,每次操作都将清空缓存,这样缓存就没有存在的意义,无法提升效率
3.避免使用二级缓存(多表操作)
二级缓存带来的好处,远远比不上他带来的隐藏危害。MyBatis默认也未开启二级缓存。多表操作一定不能用二级缓存,会导致查询结果不正确,出现脏数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值