Mybatis进阶

Mybatis日志管理

Mybatis进阶_第1张图片
Mybatis进阶_第2张图片
日志门面SLF4J和Apache Commons-Logging都广泛使用
日志实现一般使用logback
Mybatis进阶_第3张图片

MyBatis动态SQL

Mybatis进阶_第4张图片
小于号改为<转义符在这里插入图片描述
常用转义字符:
半方大的空白  

 全方大的空白                

 不断行的空白格              

<    小于    <    

>    大于    >   

&    &符号    &  

"    双引号    " 

MyBatisUtils.java文件:

package com.test.mybatis.util;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.Reader;

public class MyBasisUtils {
    //利用static(静态)属于类,不属于对象,且全局唯一
    private static SqlSessionFactory sqlSessionFactory=null;
    //利用静态块在初始化类时实例化SQLSessionFactory
    static {
        Reader reader=null;
        try {
            reader= Resources.getResourceAsReader("mybatis-config.xml");
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        } catch (IOException e) {
            e.printStackTrace();
            //初始化错误时,通过抛出异常Exception
            throw new ExceptionInInitializerError(e);
        }

    }

    public static SqlSession openSession(){
//默认sqlSession对自动提交的事务数据(commit)
        //设置false代表关闭自动提交,改为手动提交事务数据
        return sqlSessionFactory.openSession(false);
    }

    public static void closeSession(SqlSession sqlSession) {
        if (sqlSession != null) {
            sqlSession.close();
        }

    }
}

Mybatis二级缓存

Mybatis进阶_第5张图片
Mybatis进阶_第6张图片
Mybatis进阶_第7张图片
Mybatis进阶_第8张图片
Mybatis进阶_第9张图片
LFU:最近最少使用:移除最近访问频率最低的对象,移除最近一段时间内访问次数最少的
LRU:根据时间,将最久未使用的移除
在这里插入图片描述
在这里插入图片描述
Mybatis进阶_第10张图片

OneToMany对象关联查询

一对多:Mybatis进阶_第11张图片
Mybatis进阶_第12张图片
多对一查询:
在这里插入图片描述
Mybatis进阶_第13张图片

分页插件PageHelper

Mybatis进阶_第14张图片
Mybatis进阶_第15张图片
Mybatis进阶_第16张图片
Mybatis进阶_第17张图片
Mybatis进阶_第18张图片

不同数据库的分页:

Mybatis进阶_第19张图片
Mybatis进阶_第20张图片
Mybatis进阶_第21张图片
Mybatis进阶_第22张图片

MyBatis配置C3P0连接池

Mybatis进阶_第23张图片
Mybatis进阶_第24张图片
Mybatis进阶_第25张图片

MyBatis批处理

Mybatis进阶_第26张图片
Mybatis进阶_第27张图片
删除:在这里插入图片描述

MyBatis注解开发

Mybatis进阶_第28张图片
Mybatis进阶_第29张图片
Mybatis进阶_第30张图片
Mybatis进阶_第31张图片
Mybatis进阶_第32张图片
XML适合大的团队协作,注解适合小型的

你可能感兴趣的:(Mybatis进阶)