Mybatis
文章平均质量分 81
Mybatis
张井天
知其然,知其所以然!
展开
-
Mybatis一级缓存
一级缓存定义:Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存;一级缓存只是相对于同一个SqlSession而言。在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL;因为使用SelSession第一次查询后,MyBatis会将其放在缓存中;以后再查询的时候,如果没有声明需要刷新,SqlSession都会取出当前缓存的数据,而不会再次发送SQL到数据库。验证一级缓存:sql 脚本:CREATE TAB原创 2021-10-09 10:33:06 · 231 阅读 · 0 评论 -
Mybatis insert返回插入的主键
前言:本博文适用于 Mybatis + Mysql, 返回自增主键.配置:需要的配置有两个,在XML 的 Insert 标签中加入两个属性,keyProperty 对应的自增的主键:useGeneratedKeys=“true”keyProperty=“id”应用:表结构:CREATE TABLE `tb_class` ( `id` int(11) NOT NULL AUT...原创 2019-09-21 23:15:04 · 402 阅读 · 1 评论 -
Mybatis常用jdbcType记录
前言:Java 常用的数据类型: https://blog.csdn.net/zhangyong01245/article/details/101310236Mysql 常用的数据类型: https://blog.csdn.net/zhangyong01245/article/details/101157289常用数据类型表:MysqljdbcTypeJavatiny...原创 2019-09-27 17:38:06 · 1929 阅读 · 0 评论 -
Mybatis处理List参数
前言:本篇博客仅仅作为笔录,避免每次网络搜索前期准备:sql :CREATE TABLE `tb_student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_bin NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`...原创 2019-09-02 22:50:36 · 25537 阅读 · 1 评论 -
Mybatis 分页组件PageHelper 使用
PageHelper 官网:https://pagehelper.github.io关于PageHelper 的开发和原理官网上也已经讲的很明确了,这里不过多解析官网的意思快速构建:首先需要一个 SSM 项目【也可以单体Mybatis】新增Maven 配置:<dependency> <groupId>com.github.pagehel...原创 2019-08-25 23:03:04 · 423 阅读 · 0 评论 -
Mybatis @SelectProvider @InsertProvider @UpdateProvider @DeleteProvider 详解
前言:Mybatis sql 常用配置方法:最常用: resources 目录下编写 *Mapper.xml 在其中编写 sqlSelect 注解: 在 *Dao.java 方法上使用注解 @Select 、@Insert、 @Update、 @Delete 完成sql 注入。Java方法返回sql: 在 *Dao.java 方法上使用注解 @SelectProvider、@InsertProvider、 @UpdateProvider、 @DeleteProvider 调用其配置的 Java类原创 2020-12-14 23:13:04 · 973 阅读 · 0 评论 -
Mybatis #和$区别以及原理
总结:#可以防止Sql 注入,它会将所有传入的参数作为一个字符串来处理。$ 则将传入的参数拼接到Sql上去执行,一般用于表名和字段名参数,$ 所对应的参数应该由服务器端提供,前端可以用参数进行选择,避免 Sql 注入的风险为什么?为什么 # 和 $ 的作用不同,Mybatis 对他们做了哪些惨无人道的处理,我们看一下下面的例子,并追踪一下源码总结。示例代码:创建一个 tb...原创 2019-06-04 15:38:42 · 45364 阅读 · 9 评论 -
Mybatis源码学习:PooledDataSource
概述:本文将会学习PooledDataSource、UnpooledDataSource、PooledConnection和PoolState这四个类的源码实现,mybatis通过这四个类实现了一个简单的数据库连接池,这四个类的功能分别为:PooledDataSource:数据库的连接池UnpooledDataSource: 非池的数据库链接 (创建真正的链接)PooledConnection:连接池中的连接对象PoolState:提供一些统计信息,用于监控当前连接池的状态下面来分别学习这四转载 2022-03-11 22:52:49 · 883 阅读 · 0 评论 -
MyBatis resultMap与resultType、parameterMap与parameterType 区别
官方解释:官方文档位置Url : https://www.mybatis.org/mybatis-3/zh/sqlmap-xml.htmlresultMap & resultType理解阐述1、resultMap & resultType 两者都是处理sql查询的结果集,将结果集放入到Java Bean中2、写法稍有不同,resultType 会自动对应Java Bea...原创 2019-05-17 14:41:39 · 1868 阅读 · 2 评论 -
Mybatis的trim标签的使用
前言:Mybatis 中 Mapper 的 Trim 标签的目的是对其中的 sql 进行一定的格式化处理,使我们的同一个 sql 能满足多种情况Trim标签中的属性:prefix : 在 trim 标签中生成的 sql 前面添加一个字符。suffix: 在 trim 标签中生成的 sql 后面添加一个字符。prefixOverrides: 在 trim 标签中生成的 sq...原创 2019-09-21 14:31:24 · 705 阅读 · 0 评论 -
MyBatis和Spring结合时为什么只写Dao层不写其实现类
前言:了需要提前了解的知识点:JDK动态代理:https://mp.csdn.net/mdeditor/90598309#Mybatis简单Demo学习: https://www.mybatis.org/mybatis-3/zh/getting-started.htmlSprng和Mybatis简单Demo构建: http://www.mybatis.org/spring/zh/gett...原创 2019-06-11 22:30:48 · 3670 阅读 · 0 评论