随笔分类 - MyBatis
摘要:拓展 PageHelper分页插件使用 PageHelper是MyBatis中非常方便的第三方分页 插件。 • 官方文档: https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md • 我们可以对照官方文档的说
阅读全文
摘要:插件开发 插件原理 在四大对象创建的时候 1、每个创建出来的对象不是直接返回的,而是调用 interceptorChain.pluginAll(parameterHandler); 2、获取到所有的 Interceptor(拦截器)(插件需要实现的接口) 调用interceptor.plugin(t
阅读全文
摘要:运行原理 1、获取sqlSessionFactory对象 通过加载mybatis全局配置文件以及mapper映射文件初始化configuration对象 和Executor对象(通过全局配置文件中的defaultExecutorType初始化); 把配置文件的信息解析并保存在Configuratio
阅读全文
摘要:逆转工程 MyBatis Generator: • 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等这些复杂sql的定义需要我们手工编写 • 官方文档地址
阅读全文
摘要:缓存机制 /** * 两级缓存: * 一级缓存:(本地缓存): sqlSession级别的缓存。一级缓存是一直开启的,SqlSession级别的一个map * 与数据库同一次会话期间查询到的数据会放在本地缓存中, * 以后如果需要获取相同的数据,直接从缓存中拿,没必要再去查询数据库 * * 一级缓存
阅读全文
摘要:动态sql 动态 SQL是MyBatis强大特性之一。极大的简化我们拼装SQL的操作。 • 动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处 理器相似。 • MyBatis 采用功能强大的基于 OGNL 的表达式来简化操作。 – if – choose (when, otherw
阅读全文
摘要:参数处理 单个参数 mybatis 不会做特殊处理 #{参数名}:取出参数值 public Employee getEmpById(Integer id); <select id="selectEmp" resultType="com.atguigu.mybatis.bean.Employee">
阅读全文
摘要:select 返回 List <!-- public List<Employee> getEmpByLastNameLike(String lastName);--> <!-- resultType:如果返回的是一个集合,要写集合中元素的类型--> <select id="getEmpByLastN
阅读全文
摘要:增删改查 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd
阅读全文
摘要:全局配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-c
阅读全文
摘要:mybatis MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Obj
阅读全文