Mybatis
长河
为天地立心,为生民立命,为往圣继绝学,为万世开太平.
展开
-
Mybatis之foreach批量insert,返回主键id列表(修复Mybatis返回null的bug)
摘要: Mybatis在执行批量插入时,如果使用的是for循环逐一插入,那么可以正确返回主键id。如果使用动态sql的foreach循环,那么返回的主键id列表,可能为null,这让很多人感到困惑;本文将分析问题产生的原因,并修复返回主键id为null的问题。该问题在开源中国社区,以及网络上,已经有很多人遇到并发帖咨询,似乎都没有得到期望的解决结果。今天,我将带领大家,分析并解决该问题,让fore...转载 2018-03-23 16:19:19 · 4858 阅读 · 5 评论 -
关于mybatis中llike模糊查询中#和$的使用
在mybatis中经常要写到like 查询,以前从来没有遇到什么问题,突然遇到一个问题,找了好长时间没找到,最后找到了,是关于#和$的使用的,总结如下:name like 表达式 and falg=#{falg}本次示例中共两个条件,一个是name like 表达式, 还有flag相等,这个是使用#{}占位符,没有任何问题,关键问题就是 表达式的书写.下面来研究下表达式的...原创 2019-10-14 17:19:40 · 142582 阅读 · 25 评论 -
mybatis的批量更新
关于批量更新,方式有很多,可以使用batch进行批处理,也可以直接自己使用jdbc进行批处理,今天我们要写的是mybatis 的语法组装成批处理的方式:所用到的表结构如下:CREATE TABLE `student` ( `id` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `age` int(1...原创 2018-06-14 11:47:23 · 378 阅读 · 0 评论 -
mybatis参数的解析
前言很多人都有一个疑惑,为什么面试都喜欢问原理,问源码.但是实际工作根本用不上,也就是大家常说的,面试造火箭,进去拧螺丝.我身边也有不少朋友问过我,我给他们的回答是.如果不看源码,不懂原理,出了问题你怎么解决?他们给我的答复基本都是两个字,"搜索"也确实,工作中大部分问题通过复制错误信息搜索都能解决,加上现在框架越来越多,拼积木式的编程方式加上搜索引擎,让越来越多人产生了开发是件很容易的事...转载 2019-01-09 12:08:20 · 9914 阅读 · 0 评论 -
手写mybatis插件-统计每条SQL的执行时间
本文是自定义一个mybais 的插件进行SQL耗时的统计,虽然durid有一个sql的统计功能,但是我并不想用.所以就自己造了一个小轮子.首先说下mybatis 的插件MyBatis在四大对象的创建过程中,都会有插件进行介入。插件可以利用动态代理机制一层层的包装目标对象,而实现在目标对象执行目标方法之前进行拦截的效果。 MyBatis 允许在已映射语句执行过程中的某一点进行拦截调用。...原创 2019-07-01 10:54:20 · 3912 阅读 · 3 评论