1、#{}和${}的区别是什么?
#{}是预编译处理,${}是字符串替换。
Mybatis会将sql的#{}替换为?,防止sql注入。将${}替换为变量的值。
2、Xml文件和Dao接口的对应
- Xml文件的namespace的值是接口的全限名
- 接口的方法名是id值
3、如何分页
Mybatis使用RowBounds对象进行分页,指定RowBounds的参数,可以指定起始点和抓取的行数。
4、Mybatis是否支持延迟加载
进支持association(一对一)关联对象和collection(一对多)关联对象的延迟加载,
lazyLoadingEnabled=true
5、Mybatis是如何将sql结果封装为目标对象并返回的?有哪些映射形式?
- ResultMap——逐一定列名和属性的映射关系。
有了列名和属性的映射关系后,Mybatis使用反射创建对象,并返回。
6、除了select|insert|update|delete标签外。还有哪些标签
if。