Mybatis入门

JAVA学习网 2017-08-28 18:33:02

1、mybatis 介绍   : mybatis是一个持久层框架,他是对jdbc的完美的封装

2、mybatis和hibernate的区别 :

      1、Mybatis不是一个完全的ORM的框架,hibernate是一个完全的ORM的框架

      2、工作效率: mybatis的开发的工作量相对较大,hibernate的开发效率比较高

      3、SQL灵活:mybatis支持自定义sql,对SQL的支持较好。hibernate对SQL支持相对较差

      4、没有更好的框架,只有最适合的框架。要根据当前的业务、场景来决定选择哪种框架

3、Mapper的代理方式 :

      1、接口的权限定类名要和mapeer的映射文件中的namespace一致
      2、接口的方法名称要和映射文件中statementId 保持一致
      3、接口的方法的 参数类型 要和 映射文件中的 parameterType 保持一致
      4、接口的方法的返回值类型要和 映射文件中的 resultType 保持一致

4、 #{}${} 区别   :

        #{}表示一个占位符号通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换,#{}可以有效防止sql注入。 #{}可以接收简单类 型值或pojo属性值 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。

        ${}表示拼接sql通过${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换, ${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value

 

5、配置内容 :

 

SqlMapConfig.xml中配置的内容和顺序如下:

 

properties(属性)

 

settings(全局配置参数)

 

typeAliases(类型别名)

 

typeHandlers(类型处理器)

 

objectFactory(对象工厂)

 

plugins(插件)

 

environments(环境集合属性对象)

 

    environment(环境子属性对象)

 

    transactionManager(事务管理)

 

    dataSource(数据源)

 

mappers(映射器)

 

 

 

 

    

    

阅读(751) 评论(0)