常见的表关系:
1、一对一: 例:一个老公对应一个老婆
2、一对多:例:一个部门对应一群员工
3、多对多:例:一个学生对应多个老师,一个老师对应多个学生。
多对多的实质:双向的一对多。
多对一:实质站在一头出发,所以就是一对一。
完成一对一的封装:---映射文件。
固定用法:
type:表示封装之后的pojo的对象。
1.association: 将结果集封装为单独的对象 dept
2.property 需要封装的属性名称
3.javaType 固定写法: 属性的类型
association:封装单个对象,用这个关键字标签
collection:封装多个对象或集合,使用这个关键字标签。
驼峰映射
Mybatis缓存机制 缓存概念:如果有大量相同的请求查询数据库,则数据库需要执行多次重复的sql,那么并发压力高,查询效率低. 如果引入缓存机制,则可以极大的提升用户的查询的效率。
缓存机制:有两种缓存机制
1、一级缓存机制:在同一个sqlSession内部,查询多次SQL语句,缓存有效,一级缓存默认开启。
2、二级缓存机制:在同一个SqlSessionFactory内部,创建不同的sqlSession,可以实现数据共享,默认是开启的。需要在映射文件中添加一个标签
代理方式的介绍:
1、JDK动态代理:
特点:1、要求被代理者,必须得有接口。
2、默认条件下如果有接口,则使用JDK动态代理。
2、CGLIB动态代理:
特点:1、不管被代理者是否有接口,都可以为其创建代理对象。
2、代理对象是目标对象的子类。继承关系。
结论:
1、spring中如果有接口,默认使用JDK代理方式,如果没有接口,则默认使用CGLIB代理方式。
2、spring5以后,自身



