mybatis
_Jimmy_
这个作者很懒,什么都没留下…
展开
-
mybatis是否支持延迟加载?延迟加载的原理是什么
什么是延迟加载? 延迟加载的条件:resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 延迟加载的好处: 先从单表查询、需要时再从关联表去关联查询,大大提高 数据库性能,因为查询单表要比关联查询多张表速度要快。 延迟加载的实例: 如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延原创 2021-06-16 13:16:47 · 1391 阅读 · 0 评论 -
RowBounds是一次性查询全部结果吗
RowBounds 表面是在“所有”数据中检索数据,其实并非是一次性查询出所有数据,因为 MyBatis 是对 jdbc 的封装,在 jdbc 驱动中有一个 Fetch Size 的配置,它规定了每次最多从数据库查询多少条数据,假如你要查询更多数据,它会在你执行 next()的时候,去查询更多的数据。就好比你去自动取款机取 10000 元,但取款机每次最多能取 2500 元,所以你要取 4 次才能把钱取完。只是对于 jdbc 来说,当你调用 next()的时候会自动帮你完成查询工作。这样做的好处可以有效的防原创 2021-06-16 13:10:21 · 1479 阅读 · 1 评论 -
mybatis逻辑分页和物理分页的区别是什么
1.物理分页物理分页就是数据库本身提供了分页方式,如MySQL的limit,oracle的rownum ,好处是效率高,不好的地方就是不同数据库有不同的搞法。自己手写 SQL 分页或使用分页插件 PageHelper,去数据库查询指定条数的分页数据的形式。2.逻辑分页逻辑分页利用游标分页,好处是所有数据库都统一,坏处就是效率低。使用 MyBatis 自带的 RowBounds 进行分页,它是一次性查询很多数据,然后在数据中再进行检索。3.常用ORM框架采用的分页技术①:hiber原创 2021-06-16 13:07:00 · 3840 阅读 · 0 评论 -
MyISAM与InnoDB 的区别
区别:1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务; 2. InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败; ...转载 2020-08-03 08:30:09 · 96 阅读 · 0 评论