前言: 用极致的具体化压垮你的竞争对手 !
1.如何防止sql注入
占位符,使用#{},不使用${}
2.项目中如何分页的
分页分为内存分页和物理分页,大数据量的时候要注意利用索引覆盖,减少回表
3.是否支持延时加载,实现原理是什么
支持,实现原理是动态代理,默认使用的是javassist
javassist 简解 详解
不同于jdk,cglib 这俩是编译时期动态生成代理类,javassist是跳过编译时代,在即时编译器转成机器码之前,动态生成代理类.
4.一级缓存和二级缓存
一级缓存:基于SQLsession的,也就是基于数据库链接的,默认开启,建议改成statement,实现方式是perpetualCace中的hashMap
二级缓存:基于mapper的,也就是基于namespace的,默认关闭,也是perpetual中的HashMap
5.如何获取自动生成的主键
添加标签 usegeneratedKey,指定key属性和实体类字段就行了.