面试题1:#与$的区别
$:获取的是传过来的对象的属性/map
#:除了获取的是传过来的对象的属性/map,还可以直接获取值
- #比$强大一点,可以直接拿一个值
- #比$更加安全,可以防止SQL注入
- $直接拼接sql字符串,#使用的是预处理的方式(?的方式)
- 能用#用#,除非#不行才用$(排序,分页)
面试题2:Mybatis和Jdbc,Jpa/Hibenate联系和区别
联系:只要是操作数据库,底层都是jdbc
区别:
jdbc最底层 优势:运行速度最快 缺点:开发速度最慢
Jpa/Hibenate:完整的ORM框架 优势:开发速度最快 缺点:运行速度最慢
MyBatis:平衡 运行速度很快,开发速度也很快 有了插件的加入,有很大提升
mybatis性能好是因为要写sql,开发效率低点也是因为要写sql(sql写在xml里),这既是优点又是缺点。