1、什么是Mybatis
Mybatis 是支持自定义SQL ,存储过程,高级映射的持久化框架;
Mybatis 消除了几乎所有的JDBC繁琐的代码和手动设置参数;
Mybatis 可以使用简单的XML或者注解 配置映射语句,Map接口和 Java Pojo 到数据中;
2、Mybtatis 中 #{}和${}的区别是什么?
#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,
按序给sql的?号占位符设置参数值
${} 他属于SQL 内部,所以他会有SQL 注入是不安全的.
3、Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?
还有很多其他的标签,<resultMap>、<parameterMap>、<sql>、<include>、<selectKey>、<collection>
加上动态sql的9个标签,trim|where|set|foreach|if|choose|when|otherwise|bind等,
其中<sql>为sql片段标签,通过<include>标签引入sql片段,<selectKey>为不支持自增的主键生成策略标签。
4、为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
Hibernate属于全自动ORM映射工具,使用Hibernate查询关联对象或者关联集合对象时,
可以根据对象关系模型直接获取,所以它是全自动的。而Mybatis在查询关联对象或关联集合对象时,
需要手动编写sql来完成,所以,称之为半自动ORM映射工具。