MyBatis
MyBatis
不想当程序汪的第N天
我没秃,我还不够强
展开
-
MyBatis运行原理
原理原创 2019-05-25 17:53:57 · 305 阅读 · 0 评论 -
MyBatis一级缓存和二级缓存
简述mybatis提供了缓存机制减轻数据库压力,提高数据库性能。mybatis的缓存分为两级:一级缓存、二级缓存。一级缓存一级缓存是在SqlSession上的缓存,默认情况下,MyBatis系统会开启一级缓存,也就是对于SqlSession层面的缓存,这个缓存不需要POJO对象可序列化。测试一级缓存:@Testpublic void testFindUser() throws IO...原创 2019-05-25 13:36:11 · 172 阅读 · 0 评论 -
MyBatis级联
简述级联是一个数据库实体的概念,级联不是必须的,级联的好处是获取关联数据十分方便,但是级联过多会增加系统的复杂度,同时降低系统的性能,所以当级联的层级超过3层时,就不要考虑使用级联,这样会导致多个对象的关联,导致系统耦合度增加,难以维护。MyBatis的级联分为3种:鉴别器(discriminator):它是一个根据某些条件决定采用具体实现类级联的方案。一对一(association):...原创 2019-05-25 12:52:31 · 226 阅读 · 0 评论 -
MyBatis映射器
简述映射器是MyBatis最复杂且最重要的组件,它由一个接口加上XML文件(或者注解)组成。在映射器中可以配置参数、各类SQL语句、存储过程、缓存、级联等复杂内容,并且通过建议的映射规则映射到指定的POJO或者其他对象上,映射器能有效消除JDBC底层的代码。元素名称描述备注select查询语句,最常用、最复杂的元素之一可以自定义参数,返回结果集等insert插...原创 2019-05-25 12:23:43 · 247 阅读 · 0 评论 -
MyBatis配置
简述<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 配置...原创 2019-05-17 10:57:24 · 105 阅读 · 0 评论 -
MyBatis核心组件的生命周期
简述MyBatis的四大核心组件已经基本掌握,本篇文章就来谈谈四大核心组件的生命周期。首先,什么是生命周期?所谓的生命周期就是每一个对象存活的时间,例如一个对象一次用完后就要关闭,被Java虚拟机(JVM)销毁,以免继续占用资源,所以我们可以根据每个组件的作用来确定其生命周期。SqlSessionFactoryBuilderSqlSessionFactoryBuilder的作用在于创建Sq...原创 2019-05-14 10:25:37 · 550 阅读 · 0 评论 -
MyBatis核心组件之SQL Mapper
简述映射器(SQL Mapper)是MyBatis中最重要、最复杂的组件,它是由一个接口和对应的XML文件组成,它可以配置以下内容:描述映射规则提供SQL语句,并可以配置SQL参数类型、返回类型、缓存刷新等信息配置缓存提供动态SQL映射器的主要作用就是将SQL查询到的结果映射成一个POJO(Java原生对象),或者将POJO的数据插入到数据库中,并定义一些关于缓存等的重要内容。下...原创 2019-05-14 10:10:01 · 613 阅读 · 0 评论 -
MyBatis核心组件之SqlSession
SqlSession在MyBatis中,SqlSession是其和新街口。在MyBatis中有两个实现类,DefaultSqlSession和SqlSessionManager。DefaultSqlSession是单线程使用的,而SqlSessionManager是在多线程环境下使用的。SqlSession的作用类似于一个JDBC中的Connection对象,代表着一个连接资源的启用。具体而言...原创 2019-05-13 11:38:29 · 852 阅读 · 0 评论 -
MyBatis核心组件之SqlSessionFactory
MyBatis的核心组件MyBatis的核心组件分为4个部分:SqlSessionFactoryBuilder(构造器):它会根据配置或者代码来生成SqlSessionFactory,采用的是分布构建的Builder模式。SqlSessionFactory(工厂接口):依靠它来生成SqlSession,使用的是工厂模式。SqlSession(会话):一个既可以发送SQL执行返回结果,也可...原创 2019-05-13 10:24:25 · 1086 阅读 · 0 评论 -
认识MyBatis
简述MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data...原创 2019-05-13 09:37:57 · 245 阅读 · 0 评论