最新文章
-
Mybatis 的一级缓存、二级缓存是什么,以及工作模式
参考答案 1. 一级缓存的概念、工作模式 1.1 一级缓存的概念 基于 PerpetualCache 的 HashMap 本地缓存。 其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就将清空,默认打开一级缓存。 1.2 一级缓存的工作模式 Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,…... -
MyBatis 实现一对多有几种方式,具体怎么操作
参考答案 MyBatis实现一对多有两种方式: 联合查询 嵌套查询 MyBatis实现一对多的操作: 联合查询是几个表联合查询,只查询一次,通过在resultMap里面配置collection节点配置一对多的类就可以完成。 嵌套查询是先查一个表,根据这个表里面的结果的外键id,去再另外一个表里面查询数据,也是通过配置collection,但另外一个表的查询通过select节点配置。 …... -
JDK 动态代理和 CGLIB 动态代理的区别
参考答案 Spring AOP中的动态代理主要有两种方式:JDK 动态代理和 CGLIB 动态代理: JDK动态代理 只提供接口的代理,不支持类的代理。 核心InvocationHandler接口和Proxy类,InvocationHandler 通过invoke()方法反射来调用目标类中的代码,动态地将横切逻辑和业务编织在一起;接着,Proxy利用 InvocationHandler动态创建一个…... -
说一下Spring 的事务隔离,以及默认值
参考答案 Spring 有五大隔离级别,默认值为 ISOLATION_DEFAULT(使用数据库的设置),其他四个隔离级别和数据库的隔离级别一致: Spring的五大隔离级别: 1. ISOLATION_DEFAULT 用底层数据库的设置隔离级别,数据库设置什么,我就用什么。 2. ISOLATION_READ_UNCOMMITTED 未提交读。 最低隔离级别、事务未提交前,就可被其他事务读取…... -
Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id是否可以重复
参考答案 不同的Xml映射文件: 如果配置了namespace,id可以重复。 如果没有配置namespace,id不能重复。 原因: namespace+id是作为Map的key使用的,如果没有namespace,就剩下id,那么,id重复会导致数据互相覆盖。 有了namespace,自然id就可以重复,namespace不同,namespace+id自然也就不同。 备注: 在旧版本的Mybat…... -
MySQL分库分表怎么操作
参考答案 一、MySQL分库分表的原因 随着用户的增多,当数据量大到一定程度,仅一张表的数据可能就超过千万时,执行查询或修改等操作就比较耗时,这时就需要进行数据库切分的操作。 二、MySQL分库分表的方式 1. MyBatis实现分表最简单步骤 1)模拟用户表数据量已超过千万。 2)用户表原来的名字叫做user_tab,我们切分为user_tab_0和user_tab_1,这样就能把原来千万的数…...













