ORM-Mybatis

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映射工具。



猜你喜欢

转载自blog.csdn.net/izipfnybwr/article/details/81040409
Orm