mybatis和mybatisplus的区别
○ 相同点:两个框架都是ORM持久层(mybatis、mp、hibernate、jpa)框架
○ 不同点:mybatis更适合复杂的SQL查询,可以借助于动态SQL实现多表联查,而mp可以借助于自己封装的一个API做单表查询,常见的API有QueryWrapper、UpdateWrapper。。。。
mybatis xml文件常用标签
● if
● foreach
● where
● set
Mybatis的一、二级缓存
● 一级缓存【默认开启】:默认是sqlsession级别
○ select from emp where id=1 --> 加入到一级缓存,key是完整sql语句(带查询条件),value=查询结果
○ select from emp where id=1 ,走缓存
○ select * from emp where id=2,不走缓存
● 二级缓存【配置文件增加配置项】:默认是SqlSessionFactory的NameSpace级别,默认没有开启, 需要手动开启
{}和${}的区别
● 哪个能防止SQL注入:#
○ 预编译:PrepareStateMent.setSqlSegement(sql)
● 为什么还需要$?
○ 动态表名:分库分表