摘要:
数据库分区是一种物理数据库设计技术。其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应用来说分区完全是透明的。 分区的作用:数据库性能的提升和简化数据管理。 在扫描操作中MySQL优化器只扫描数据的那个分区以减少扫描范围获得性能的提高。分区技术使得数据管理变 阅读全文
摘要:
序列是什么?序列对象(也叫序列生成器)就是用CREATE SEQUENCE 创建的特殊的单行表。一个序列对象通常用于为行或者表生成唯一的标识符。 在持久层框架如Hibernate(JPA)、Mybatis中经常会用到Sequences(函数)去创建主键值,PostgreSQL中,用serial数据类 阅读全文
摘要:
除了懒加载,还有什么方法能提高查询效率呢?那就是缓存。 mybatis 为我们提供了一级缓存和二级缓存,可以通过下图来理解 1、一级缓存是SqlSession级别的缓存 —— 它是各自独立的 在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。 阅读全文
摘要:
一、需求背景 需求:比如查询订单信息,需要查询出是谁下单的,就是需要关联查询出用户信息。 第一种方法:我们直接关联查询出所有订单和用户的信息 第二种方法:分步查询,首先查询出所有的订单信息,然后如果需要用户的信息,我们在根据查询的订单信息去关联用户信息 对应分析: 如果使用第一种方法:这里我们一次查 阅读全文
摘要:
MyBatis官方文档:https://mybatis.org/mybatis-3/zh/index.html 一、什么是mybatis MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工 阅读全文
摘要:
一、MyBatis如何得到插入数据之后的主键值 1、第一种:数据库设置主键自增机制。 userMapper.xml 文件中定义: <!-- 向 user 表插入一条数据 --> <insert id="insertUser" parameterType="com.ys.po.User"> <!-- 阅读全文