表现层
业务层
持久层
Mybatis:是java的持久层框架,用java编写。
它封装了jdbc的很多细节,使开发者只用关注SQL语句本身,而无需关注注册驱动,创建连接等繁杂过程
它使用了ORM思想实现了结果集的封装
ORM:对象关系映射,即把数据库中的表和实体类,实体类的属性对应起来使我们可以通过操作实体类就实现操作数据库。
Mybatis环境搭建:
基础案例:
MyBatis连接池的三种方式的配置:
位置:主配置文件SqlMapConfig中的Datasource标签,type的属性就是连接池的方式。
POOLED
UNPOOLED
JNDI
MyBatis的延迟加载:
在SqlMapConfig中配置延迟加载:
MyBatis中的缓存
定义:存在于内存中的临时数据
为什么使用缓存:减少与数据库的交互次数,提高执行效率
Mybatis中的一级二级缓存:
1.在一对多,多对多的查询当中,我们需要在查询1的同时查询2,那么我们就需要在1的实体类中映射2的实体
2.不论在单表还是多表查询时,如果查询结果是单个对象,那么需要在中使用标签,就需要在同时查询列指明查询所依赖的外键列名,还需要通过标签指明查询所依赖的实体类,如果查询结果是对象的集合,那么需要在中使用标签,只需通过标签指明查询所依赖的实体类
3.当两张表有重复字段名时需要对其中的一张表进行起别名的操作,同时在起了别名时需要在和
4.如果实体类中属性名和数据库中字段名不相同,需要在和
5.如果在主配置文件中对实体类起了别名,那么在xml配置文件中就可以不使用全限定类名,而是使用别名(实体类类名大小写即可)