草庐IT

mybatis-flex

全部标签

使用Mybatis自定义插件实现不侵入业务的公共参数自动追加

背景后台业务开发的过程中,往往会遇到这种场景:需要记录每条记录产生时间、修改时间、修改人及添加人,在查询时查询出来。以往的做法通常是手动在每个业务逻辑里耦合上这么一块代码,也有更优雅一点的做法是写一个拦截器,然后在Mybatis拦截器中为实体对象中的公共参数进行赋值,但最终依然需要在业务SQL上手动添加上这几个参数,很多开源后台项目都有类似做法。这种做法往往不够灵活,新增或修改字段时每处业务逻辑都需要同步修改,业务量大的话这么改非常麻烦。最近在我自己的项目中写了一个Mybatis插件,这个插件能够实现不修改任何业务逻辑就能实现添加或修改时数据库公共字段的赋值,并能在查询时自动查询出来。实现原理

MyBatis<foreach>标签的用法及多种循环方式

foreach的主要作用在构建in条件中,它可以在sql语句中进行迭代一个集合。foreach元素的属性主要有collection,item,separator,index,open,close。属性描述collection指定要遍历的集合。表示传入过来的参数的数据类型。该属性是必须指定的,要做foreach的对象。index索引,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置。遍历list的时候index就是索引,遍历map的时候index表示的就是map的key,item就是map的值。item表示本次迭代获取的元素,若collection为List、Set或者数组,则表示

MyBatis动态SQL详解

一:MyBatis动态sql是?1.动态SQL是MyBatis的强大特性之一。在JDBC或其它类似的框架中,开发人员通常需要手动拼接SQL语句。根据不同的条件拼接SQL语句是一件极其痛苦的工作。例如,拼接时要确保添加了必要的空格,还要注意去掉列表最后一个列名的逗号。而动态SQL恰好解决了这一问题,可以根据场景动态的构建查询。2.动态SQL:codethatisexecuteddynamically。它一般是根据用户输入或外部条件动态组合的SQL语句块。动态SQL能灵活的发挥SQL强大的功能、方便的解决一些其它方法难以解决的问题。相信使用过动态SQL的人都能体会到它带来的便利,然而动态SQL有时

论文阅读笔记《FLEX: Extrinsic Parameters-free Multi-view 3D Human Motion Reconstruction》

1.简介在3D人体姿态估计中存在遮挡和模糊问题,使用多相机可能会缓解这些困难,因为不同的视角可以补偿这些遮挡并用于相互一致性。目前的3D人体姿态估计中大多数都是单视角的,有一部分是多视角的,但是他们的方法依赖于相机之间的相对位置,这要用到相机的外参。对于相机内参的缺乏,一些方法可以尝试去估计内参,但是估计的值肯定会不准确。        作者的工作引入了一个不需要外部参数的多视角运动重建,此工作建立在一个新的概念之上,使用众所周知的关节旋转和骨长。此工作依赖于一个关键的见解,即对于所有视角而言,关节旋转和骨长是确定的,也就是说,骨架部分的3D角度与相机位置是没有关系的,此时预测的是运动信息,而

毕业设计——基于SpringBoot+Mybatis+Thymeleaf架构实现的员工管理系统(源码+数据库)

完整项目地址:https://download.csdn.net/download/lijunhcn/88430276基于SpringBoot+Mybatis+Thymeleaf架构实现的员工管理系统(源码+数据库)SpringBoot整合CRUD实现员工管理案例,将Mybatis整合到原项目中,加入了数据库,添加了日期选项的控件。环境要求JDK8以上IDEAMySQL8Maven3需要熟练掌握MySQL数据库,SpringBoot及MyBatis知识,简单的前端知识;数据库环境创建案例所使用的数据库CREATEDATABASE`employee`;USE`employee`;创建登陆用户数据

mybatis-plus的saveBatch报错,反而save没有问题?空指针Caused by: java.lang.NullPointerException

mybatis-plus中saveBatch等批量操作空指针问题描述:报错信息解决思路解决方案疑问参考的博客描述:又是马上要到了下班时间,哈哈,希望能给到你帮助,潦草解释一下只要是批量的操作都会出现空指针,反而save单个操作却没有问题,你一定很懵,这是咋回事?报错信息Causedby:java.lang.NullPointerException:null atcom.baomidou.mybatisplus.extension.toolkit.SqlHelper.sqlSessionBatch(SqlHelper.java:53)~[mybatis-plus-extension-3.1.0.

SpringBoot_mybatis-plus使用json字段

mybatis-plus使用json字段1.前言2.方案分析2.1为什么是json2.2数据库的选择3.实战3.1使用text字段(h2数据库)3.1.1建表语句3.1.2数据操作与查询3.2使用json字段(mysql数据库)3.2.1建表语句3.2.2数据操作与查询4.附录4.1MySQLJSON索引用法4.2mybatis-plusjson查询用法5.参考文档1.前言在springboot项目开发中,一般使用关系型数据库作为主库存储数据,有时候业务场景需要在既有的表结构上,扩展自定义业务信息.这种场景下一般使用json类型存储。本文总结springboot项目中,借助mybatis-pl

针对mockito框架在单元测试中出现Mybatis-Plus链式调用的解决方案

1、首先使用SquareTest插件生成模板2、生成后会测试类中会出现一个当前类的属性值例如:测试类名为A生成的被测试类中会有一个privateAServiceImplAServiceImplTest; 需要在属性上面加上注解@InjectMocks@InjectMocksprivateAServiceImplAServiceImplTest;3、添加当前所属实体类的Mapper@MockprivateAMappermockAMapper4、新增before方法@BeforeEachvoidbefore(){TableInfoHelper.initTableInfo(newMapperBuil

MyBatis动态SQL中if,where,set,trim四种标签的使用和联系

目录MyBatis动态SQL中if,where,set,trim四种标签的使用和联系1、先介绍trim标签以下是trim标签中涉及到的属性:2、使用trim标签或where标签去除多余的and关键字3、使用trim标签或set标签去除多余的逗号MyBatis动态SQL中if,where,set,trim四种标签的使用和联系1、先介绍trim标签mybatis的trim标签一般用于去除sql语句中多余的and关键字,逗号,或者给sql语句前拼接“where“、“set“以及“values(“等前缀,或者添加“)“等后缀,可用于选择性插入、更新、删除或者条件查询等操作。以下是trim标签中涉及到的

mybatis xml 文件 sql include 的用法

 mybatisxml文件中对于重复出现的sql片段可以使用标签提取出来,在使用的地方使用标签引用即可具体用法如下:id,nameselectfromt在sql片段中可以使用${}传入参数,如下:${tableName}.id,${tableName}.nameselectfromt对于多个xml文件需要同时引用一段相同的可以在某个xml中定义这个sql代码片段,在需要引用的地方使用全称引用即可,例子如下:ShareMapper.xmlid,nameCustomMapper.xmlselectfromt