Mybatis知识点无序整理

1、Mybatis 中$与#号的区别

①首先明白${}底层实现的相当于是JDBC中的statement,即字符串的+号;然而#{}相当去preparestatement,即问号占位符

②我们通常的回答是推荐使用#{},因为它可以防止sql注入

③还有一点是,在模糊查询时我们推荐使用的是${},因为#{}会在参数类型是string的时候,默认拼接反斜杠,处理麻烦。

④${}其实是OGNL 对象图表达式(了解过struts2的伙伴会知道)所以可以使用的方式如${user.name},但是#{}底层是通过反射获取data

2、Mybatis的延迟加:在Mybatis的全局配置文件中,通过<settings>标签进行设置。

Mybatis知识点无序整理

Mybatis知识点无序整理

Mybatis知识点无序整理

3、PageHelper分页插件,目前支持所有的关系型数据库。在xml中添加依赖就行了。

具体添加信息如下:

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

<version>5.1.6</version>

</dependency>

Mybatis知识点无序整理

使用时的具体代码如下:

Mybatis知识点无序整理

通过PageInfo获取分页的具体信息:

Mybatis知识点无序整理

4、Mybatis缓存:Mybatis的一级缓存是sqlsession ,二级缓存是namespace级别的,二级缓存需要实例化,实例序列化(具体还有二级缓存的刷新、开关)

Mybatis知识点无序整理

Mybatis知识点无序整理

Mybatis知识点无序整理