![](https://img-blog.csdnimg.cn/20210423192825793.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Mybatis
文章平均质量分 81
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
他 他 = new 他()
毕业于内蒙古科技大学(包头师范学院),本科,大学专业计算机科学与技术,毕业之后从事Java开发,虽然我是18年毕业的,但是入行之后有很多前辈带着一起走,工作之余学到了很多学校接触不到的东西,在这里分享给大家
展开
-
深入浅出 最新版 MyBatis-3.5.6_ 9. MyBatis 常见使用问题
一、SQL 注入的问题这个可以说是最经典的一个问题,实际上问的就是#{} 和 ${} 的区别#{}是预编译处理,像传进来的数据会加个" "(#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号),${}就是字符串替换。直接替换掉占位符。$方式一般用于传入数据库对象,例如传入表名.使用${}的话会导致sql注入。什么是SQL注入呢?比如 select * from user where id = ${value}value应该是一个数值吧。然后如果对方传过来的是 001 and...原创 2021-03-02 15:03:19 · 1875 阅读 · 0 评论 -
深入浅出 最新版 MyBatis-3.5.6_ 8. MyBatis 缓存
我们不难知道,数据是存储在计算机硬盘上,如果我们频繁的从数据库读取数据,时间长了会造成数据库堵塞,IO 开销高了之后,性能大打折扣。所以为了能够减少从数据库读取,我们引入了缓存这个东西。MyBatis 中提供了两种缓存,一级缓存和二级缓存。一、MyBatis 一级缓存MyBatis 中默认是开启一级缓存的,而一级缓存是 SqlSession 级别的缓存。我们学习的时候,需要构建 SqlSession,而在这个对象中有一个数据结构( HashMap ),用于存储缓存数据。并且不同的sqlS原创 2021-03-02 14:10:31 · 1285 阅读 · 2 评论 -
深入浅出 最新版 MyBatis-3.5.6_ 7. MyBatis 调用存储过程和存储函数
一、MyBatis 调用存储过程我们先打开之前的数据库,然后创建一个存储过程。DELIMITER ||CREATE PROCEDURE guocheng(IN a INT, OUT b INT)READS SQL DATABEGIN DECLARE c INT DEFAULT 0; select count(1) INTO c from t_student; set b = c + a;END||DELIMITER;...原创 2021-03-01 17:36:38 · 1250 阅读 · 0 评论 -
深入浅出 最新版 MyBatis-3.5.6_ 6. MyBatis 动态 SQL
一、什么是动态 SQL我们打开 MyBatis 3 官网的文档:https://mybatis.org/mybatis-3/zh/dynamic-sql.html,一边看官网一边去说我们之前在学习 JDBC 时,好比碰到条件查询,我们需要用 Java 代码去判断,然后再进行 SQL 的拼接,有的时候多一个逗号或者是多一个逗号,都会导致我们的 SQL 的错误。可以说是非常的痛苦,但是好在 MyBatis 给我们解决了这个问题,我们可以使用 MyBatis 的动态 SQL,让 MyBatis 帮原创 2021-03-01 15:45:41 · 1872 阅读 · 0 评论 -
深入浅出 最新版 MyBatis-3.5.6_ 5. MyBatis 一对一 & 一对多 级联查询
介绍这个之前,我们先来说说 一对一,一对多是什么玩意一、一对一、一对多我们来想一个问题,就是学生和班级的关系。不难知道,一个学生肯定在一个时刻只能在一个班级,那么对于学生来说,它就是一,一对一,就是一个学生对应一个班级。相同的,如果我们把一个班级看成一,那么,一个班级肯定不止有一个学生,这也就是说,一个班级会对应多个学生。上个图来好好理解一下接着我们再来想一个问题如果按照这样我们去设计数据库的表,我们该怎么设计呢。首先是的有两个表,一个是学生表,一个是班级表学生有主键原创 2021-03-01 14:18:37 · 1128 阅读 · 0 评论 -
深入浅出 最新版 MyBatis-3.5.6_ 4. MyBatis XML 映射器
这个 MyBatis 的映射器可以说是我们之后学习 MyBatis 的核心XML 映射器中主要有我们操作数据库的几个核心顶级元素,官网链接:https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#selectinsertupdateselectdelete不难发现,这些个标签其实就是对应的我们数据库 CRUD 操作的核心关键字,我们一个一个来学习,学习之前先说一下里面的一个标签:mapper 标签一、mapper 标签这个标签呢,原创 2021-02-22 00:28:38 · 1500 阅读 · 2 评论 -
深入浅出 最新版 MyBatis-3.5.6_ 3. MyBatis 核心配置介绍
我们这一篇主要介绍 MyBatis 的核心配置,大家可以一边看官方文档,一边看博客,当然,不管是谁写博客,都是会根据官网的内容去介绍,所以说,看啥不如看官网解释~~~MyBatis 核心配置链接:https://mybatis.org/mybatis-3/zh/configuration.html然后我们再上一个图我们主要也是根据 MyBatis 官网的内容去说,当然,我们主要说一些常用的,不常用的大家可以自己去官网进行看1.configuration首先是configurati..原创 2021-02-21 23:19:24 · 1924 阅读 · 0 评论 -
深入浅出 最新版 MyBatis-3.5.6_ 2. Hello MyBatis
从这一篇开始,我们就正式踏入了 MyBatis 的学习,废话不多说,开始干一、MyBatis 下载 & 环境准备1. 下载我们先来用 MyBatis 写一个简单的例子,但是,我们既然要用这个 MyBatis,我们就需要去下载一下 MyBatis 所要用到的 Jar 包,这里呢,MyBatis 官网都已经给我们整理好了,打开官网,点击入门然后点击这个,进入到 MyBatis 的 GitHub 主页然后我们就直接使用这个最新版 3.5.6,选择这个 zip 文件,点击下载~原创 2021-02-21 00:21:59 · 2234 阅读 · 0 评论 -
深入浅出 最新版 MyBatis-3.5.6_ 1. 认识 MyBatis
一、什么是MyBatisMyBatis 是一个优秀的 ORM(Object Relational Mapping对象关系映射) 框架,介绍完毕。其实介绍 MyBatis 不需要说太多,有这一句就足够了,好的产品无需过多的描述,简单一句话可以概况他的强大,当然,我们是第一次接触这个 MyBatis,当然不能就这一句话就给他说完了剩下的我们通过百科还有它的官网去了解他。先来上百科可以看到,MyBatis 是 Apache 的一个开源项目,2010 年前移到了谷歌,当然,这个都是...原创 2021-02-20 20:31:13 · 2084 阅读 · 2 评论