Easter79 Easter79
3年前
springboot2结合mybatis拦截器实现主键自动生成
前言前阵子和朋友聊天,他说他们项目有个需求,要实现主键自动生成,不想每次新增的时候,都手动设置主键。于是我就问他,那你们数据库表设置主键自动递增不就得了。他的回答是他们项目目前的id都是采用雪花算法来生成,因此为了项目稳定性,不会切换id的生成方式。朋友问我有没有什么实现思路,他们公司的orm框架是mybatis,我就建议他说,不然让你老大把m
kenx kenx
3年前
mybatis if else if 条件判断SQL片段表达式取值和拼接
前言最近在开发项目的时候涉及到复杂的动态条件查询,但是mybaits本身不支持ifelseif类似的判断但是我们可以间接通过chosewhenotherwise去实现其中choose为一个整体when是ifotherwise是else快速使用以前我们进行条件判断时候使用if标签进行判断,条件并列存在xml
Stella981 Stella981
3年前
Spring Data Jpa 返回自定义对象 DTO 映射问题
关键字:JPA复杂查询,JPA返回自定义实体,JPA返回自定义DTO,JPA联表查询,JPA原生SQL查询,JPA踩坑新冠疫情之下,闲来无事研究了一下JPA,发现坑还是不少的,特地记录一下,有兴趣的道友可以看看。在灵活性上JPA比不上MyBatis,比如想联表查询返回一个自定义的实体Dto,结果发现不能直接返回自定义的实体,典型错误如下:
Stella981 Stella981
3年前
BeetlSQL 3 功能预览
BeetlSQL3目前正在研发过程,预计9月能发版。相比于BeetlSQL2,有非常多的改进,本博客会用一部分介绍BeetlSQL3的功能,另外一部分介绍如何定制Beetl3。BeetSql是一个全功能DAO工具,同时具有Hibernate优点&Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用
Stella981 Stella981
3年前
Mybatis执行SQL的4大基础组件详解(图文并茂)
\温馨提示:本篇是源码分析MybatisShardingJdbcSQL语句执行的前置篇。1、Executorsql执行器,其对应的类全路径:org.apache.ibatis.executor.Executor。1.1Executor类图!在这里插入图片描述(https://imgblog.csdn
Stella981 Stella981
3年前
MyBatis创建实体对象时获取自动生成的主键值
例如表结构:CREATETABLEperson(idBIGINTNOTNULLAUTO_INCREMENTPRIMARYKEY,nameVARCHAR(30));实体类:publicclassPerson{privatelo
Stella981 Stella981
3年前
Spring+SpringMVC+MyBatis入门(十五)——SpringMVC注解开发(基础篇)
本文主要内容:(1)商品修改功能开发(2)@RequestMapping(3)Controller类中方法的返回值(4)参数绑定(5)post中文乱码(6)SpringMVC和Struts2的区别1.商品修改功能开发1.1需求操作流程:(1)进入商品查询列表页面;(2)点击修改,进
Stella981 Stella981
3年前
MyBatis版本升级引发的线上告警回顾及原理分析
!(https://oscimg.oschina.net/oscnet/upcdd3545731fbcea0fe15d95b6a2f3e038aa.png)背景某天晚上,美团到店事业群某项系统服务正在进行常规需求的上线。因为在内部的Plus系统发布时,提示infbom版本需要升级,于是我们就将infbom版本从1.3.9.6升级至1
Stella981 Stella981
3年前
Mybatis批量更新报错com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
批量更新数据,非常简单的一段代码,硬是报错,插入的数据也能显示出来List<UseruserlistnewArrayList<User();userlist.add(newUser(1,"qq","123132","eee"));userlist.add(newUser(2,"3333","123132","rr
京东云开发者 京东云开发者
9个月前
一种轻量分表方案-MyBatis拦截器分表实践
背景部门内有一些亿级别核心业务表增速非常快,增量日均100W,但线上业务只依赖近一周的数据。随着数据量的迅速增长,慢SQL频发,数据库性能下降,系统稳定性受到严重影响。本篇文章,将分享如何使用MyBatis拦截器低成本的提升数据库稳定性。业界常见方案针对冷