01 2021 档案
摘要:Mybatis 在目前的开发来看,Mybatis是一个绕不开的过程,虽然有Spring Data JPA或者Hibernate,但是目前国内的大环境还是Mybatis为主。 Mybatis入门 【从零开始学Mybatis笔记(一)】Mybatis常用资源分享 【从零开始学Mybatis笔记(二)】M
阅读全文
摘要:程序中为什么使用缓存? 先了解一下缓存的概念:原始意义是指访问速度比一般随机存取存储器快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。对于我们编程来说,所谓的缓存,就是将程序或系统经常要调用的对象(临时数据)存在内存中,一遍其使用时可以快速调用,不必再去创建
阅读全文
摘要:首先我们先思考一个问题,假设:在一对多中,我们有一个用户,他有100个订单。 问题1:在查询用户的时候,要不要把关联的订单查出来? 问题2:在查询订单的时候,要不要把关联的用户查出来? 解答: 在查询用户的时候,用户下的订单信息应该是我们什么时候使用,什么时候去查询。 在查询订单的时候,订单的所属用
阅读全文
摘要:如果你想更深刻的理解Mybatis动态代理的原理,那么你应该先知道 什么是代理模式? 在没有动态代理的时候Mybatis是如何实现dao层的? 什么是代理模式 具体可以阅读笔者的博客—— 代理模式 在没有动态代理的时候Mybatis是如何实现dao层的 本篇博客基于mybatis的环境已经搭建完成,
阅读全文
摘要:SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的 Bug 来实现攻击,而是针对程序员编写代码时的疏忽,通过SQL语句,实现无账号登录,甚至篡改数据库等极具危害性的行为。 SQL注入攻击实例 如下是一个系统的账号校验的sql语句 select * from user_table where
阅读全文
摘要:使用SQL注入器就可以自定义例如selectById的默认方法。 实现步骤 Step1:创建定义方法的类; Step2:创建注入器; Step3:在Mapper中加入自定义方法。 自定义注入器的简单使用 第一步:创建定义方法的类 public class DeleteAllMethod extend
阅读全文
摘要:因为表的数据太大了,有的项目会进行分表存储。例如日志表,一般都是按时间区分,表名xxx_年_月;还有的业务表针对不同机构,一个机构一个表 ,表命_xxxid。这些表的字段都是一样的,不同的是内容和表名。当我们需要操作表的时候,可能需要根据业务和需求的不同,操作不同的表,这时候我们就需要动态的进行表名
阅读全文
摘要:多租户是一种结构,就是让多个用户(一般是企业)共同使用同一个系统,但是做到数据隔离,互不干涉。 独立数据库:隔离级别最高,有助于数据库的扩展,满足客户的不同需求,出现问题恢复比较方便。但是创建和维护成本也增加了。 共享数据库,独立Schema:同一个数据库,但是不同的用户拥有自己的schema或者u
阅读全文
摘要:性能分析的简单使用 第一步:配置性能分析拦截器 @Bean @Profile({"dev", "test"})//只用于开发和测试环境,不建议在生产环境使用 public PerformanceInterceptor performanceInterceptor() { PerformanceInt
阅读全文
摘要:什么时乐观锁? 第一步,先取出记录,获取当前version;第二步,当更新时,带上这个version;第三步:版本正确更新成功,错误更新失败。 示例: update user set name = '向南天,version =3 where id = 1094592041087729777 and
阅读全文
摘要:我们在实际开发中有些字段的值使用手动输入十分的不方便,例如创建时间,更改时间等。有的朋友说可以使用默认值,这是可以的,但同时具有局限性。这时候就需要使用MP的自动填充功能。 在本篇博客中,如果你遇到了乱码问题,可以在数据库连接池参数中添加如下属性,或者直接在数据库中更改编码方式。 character
阅读全文
摘要:想象一个例子,你的淘宝订单被你删除了,但是你所购买的是一个假货,无奈你找到客服,客服帮你恢复了。明明被删除的数据,为什么还有呢?原来,在企业中所有信息都被存在数据库中,而用户所谓的删除都不是真正的删除,在数据库中数据一般有个字段作为删除标识符,例如delete,一般当delete为1时表示删除,为0
阅读全文
摘要:这里默认大家都是看过同系列的基础课程,这里给出和基础课程唯一不同的数据库SQL。如果没有看过可以在【Mybatis学习笔记】目录 中找到相应的链接。 #创建用户表 CREATE TABLE user ( id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主键',
阅读全文