![](https://img-blog.csdnimg.cn/20201228162434739.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MyBatis
文章平均质量分 66
MyBatis
HoryC
这个作者很懒,什么都没留下…
展开
-
PageHelper 分页查询「实现篇」
两种情况分两种情况:查出来为 PageQueryRespDTO查出来直接是 Model查出来为 PageQueryRespDTOpublic PageInfo<PageQueryRespDTO> queryPageList(PageQueryReqDTO dto) { PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); List<PageQueryRespDTO> resul原创 2021-12-16 11:13:36 · 1356 阅读 · 0 评论 -
PageHelper 分页查询「原理篇」
pagehelper简介PageHelper方法分页原理PageHelper方法使用了静态的ThreadLocal参数,分页参数和线程是绑定的。内部流程是ThreadLocal中设置了分页参数(pageIndex,pageSize),之后在查询执行的时候,获取当前线程中的分页参数,执行查询的时候通过拦截器在sql语句中添加分页参数,之后实现分页查询,查询结束后在 finally 语句中清除ThreadLocal中的查询参数。通俗地讲,就是PageHelper.startPage(int page原创 2021-12-16 11:12:09 · 9607 阅读 · 0 评论 -
MyBatis 中 #{} 和 ${} 区别
二者区别#{} 是预编译处理,传进来的数据会加个" "#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号${}就是字符串替换,直接替换掉占位符$方式一般用于传入数据库对象,例如传入表名SQL 注入使用 ${} 的话会导致 sql 注入。什么是 SQL 注入呢?比如 select * from user where id = ${value}value 应该是一个数值吧,然后如果对方传过来的是 001 and name = tom,这样就相当于多加了一个条件,把SQL语原创 2021-01-22 23:41:23 · 119 阅读 · 0 评论 -
MyBatis关于使用generator的几个坑
最近在做一个权限管理系统的项目,整合myBatis的时候需要配置数据库相应的xml、entity、dao,手写的话工作量巨大,出错率又高所以用了generator工具生成相应的文件,本以为用generator生成文件就万事大吉了,但是启动的时候一直启动不了经过排查发现原来是自动生成了是xxMapper.xml文件的问题用generatorxxMapper.xml配置文件(尤其是xxMapper.xml文件!!)generator内容不一定是对,需要注意的有以下几点:① generator.xm原创 2020-07-23 17:02:24 · 468 阅读 · 0 评论