2023-01-12一、Mybatis中缓存机制1、一级缓存(1)概述:一级缓存(即本地缓存或SqlSession级别缓存)(2)特点:①一级缓存默认开启②不能关闭③可以清空(3)缓存原理①当第一次获取数据时,需要先从数据库中加载数据,将数据缓冲到Mybatis一级缓存中(缓存底层实现原理是Map,key:hashCode+查询的SqlId+编写的sql查询语句+参数)②以后再次获取数据时,先从一级缓存中获取,如未获取到数据,再从数据库中获取数据(4)一级缓存五种失效情况①不同的SqlSession对应不同的一级缓存(例如:将第一次查询的sqlSession关闭了,之后开启一个新的sqlSes
学习一个新的内容,我认为还是需要从是什么、为什么、怎么做(怎么用)三个点进行切入,下面我就以此三点对Mybatis进行学习。一、Mybatis是什么 1.Mybatis简介MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。2013年11月迁移到Github。(摘自百度百科)这里直接引用官网的文档:中文文档网址:https://mybatis.net.cn/index.htmlMyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBat
学习一个新的内容,我认为还是需要从是什么、为什么、怎么做(怎么用)三个点进行切入,下面我就以此三点对Mybatis进行学习。一、Mybatis是什么 1.Mybatis简介MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。2013年11月迁移到Github。(摘自百度百科)这里直接引用官网的文档:中文文档网址:https://mybatis.net.cn/index.htmlMyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBat
在MyBatis的第一篇的学习中我们了解了MyBatis是什么和为什么学习MyBatis,本次我们将学习MyBatis的具体使用。 思路:环境搭建——>MyBatis导入——>代码编写——>测试。一、环境搭建1.建立数据库CREATEDATABASE`MyBaties`;CREATETABLE`user`(`id`INT(20)NOTNULLPRIMARYKEY,`username`VARCHAR(30)NOTNULL,`password`VARCHAR(30)NOTNULL);INSERTINTO`user`(`id`,`username`,`password`)VALUES(10000,'
在MyBatis的第一篇的学习中我们了解了MyBatis是什么和为什么学习MyBatis,本次我们将学习MyBatis的具体使用。 思路:环境搭建——>MyBatis导入——>代码编写——>测试。一、环境搭建1.建立数据库CREATEDATABASE`MyBaties`;CREATETABLE`user`(`id`INT(20)NOTNULLPRIMARYKEY,`username`VARCHAR(30)NOTNULL,`password`VARCHAR(30)NOTNULL);INSERTINTO`user`(`id`,`username`,`password`)VALUES(10000,'
某天,产品经理给了这么一个需求技术小哥,能不能帮用户添加一个搜索栏,查询包含某个关键字的所有类目。技术小哥稍微想了一下,目前跟类目相关的表有两个,一个是content_category类目表,一个是content_system内容系统表。而用户要查找的关键字是存在content_system表里面,这样一来需要连表查询一下。难度好像不大,也就爽快地答应了。技术小哥再仔细分析了一下两个表的结构:CREATETABLE`content_category`(`category_id`int(10)unsignedNOTNULLAUTO_INCREMENTCOMMENT'类目编号Id',`pid`in
某天,产品经理给了这么一个需求技术小哥,能不能帮用户添加一个搜索栏,查询包含某个关键字的所有类目。技术小哥稍微想了一下,目前跟类目相关的表有两个,一个是content_category类目表,一个是content_system内容系统表。而用户要查找的关键字是存在content_system表里面,这样一来需要连表查询一下。难度好像不大,也就爽快地答应了。技术小哥再仔细分析了一下两个表的结构:CREATETABLE`content_category`(`category_id`int(10)unsignedNOTNULLAUTO_INCREMENTCOMMENT'类目编号Id',`pid`in
Mybatis懒加载的使用什么是懒加载?懒加载的意思就是在使用的时候才去加载,不使用不去加载,相反的就叫饥饿加载或者立即加载。懒加载在Mybatis中一般是存在与联合查询的情况,比如查询一个对象的同时连带查询相关的表对应的数据。在Mybatis中查询可以通过ResultMap设置查询对象返回一个集合属性,也就是说像这样的:@DatapublicclassUserimplementsSerializable{privateintid;privateintage;privateStringname;privateListorderList;}这里的orderList就是一个集合,在mapper.x
Mybatis懒加载的使用什么是懒加载?懒加载的意思就是在使用的时候才去加载,不使用不去加载,相反的就叫饥饿加载或者立即加载。懒加载在Mybatis中一般是存在与联合查询的情况,比如查询一个对象的同时连带查询相关的表对应的数据。在Mybatis中查询可以通过ResultMap设置查询对象返回一个集合属性,也就是说像这样的:@DatapublicclassUserimplementsSerializable{privateintid;privateintage;privateStringname;privateListorderList;}这里的orderList就是一个集合,在mapper.x
1、insert标签1.1获取SqlSessionFactory对象的通用方法方便后面分测试;//获取SqlSessionFactory对象的通用方法publicSqlSessionFactorygetSqlSessionFactory()throwsIOException{InputStreaminputStream=Resources.getResourceAsStream("mybatis-config.xml");returnnewSqlSessionFactoryBuilder().build(inputStream);}1.2属性说明属性名说明idnamespace指定接口中的方法