面试题
1. aop底层使用了什么设计模式
使用了动态代理模式springaop支持jdk动态代理,cglib动态代理
2. springaop 常用的五中通知类型是什么*
前置通知 后置通知 环绕通知 异常通知 最终通知
3. mybatis中#{}和${}有什么区别
#{}在mybatis底层使用占位符的方式传递参数,为传递的参数外加一个引号
${}在mybatis底层使用拼接字符串的方式传参,参数会原封不动的传过来。在dao 的方法形参中要加@prama注解
4. mybatis中怎么实现自动获取主键
自动生成主键oracle selectkey keyproperty resultType order order mysql useGenertedKeys KeyProperty
5. mybatis 怎么调用存储过程
select属性StatementType设置成ACALLVLE{CALL#(参数名,mode=IN/OUT/INONT,jdbcType=VARCHAR)},
…
)}
调用存储过程处理参数需要Map类型
6. mybatis常用过程动态sql标签有什么
if where
choose
when
otherwise
foreach
sql
set