关于mybatis

来源:互联网 发布:python legend 编辑:程序博客网 时间:2024/05/20 16:41
mybatis是什么
mybatis的作用
mybatis怎么用
mybatis优缺点
mybatis和hibernate对比


mybatis是什么:
    mybatis是数据映射器(数据映射器层:用于在对象和数据库之间搬运数据,同时保证对象、数据库和数据映射器层本身相对独立。Martin Fowler 《企业应用架构模式》)
    mybatis不是直接把类映射为数据库表,而是把sql语句的参数与结果(即输入与输出)映射为类。为如何在类和数据库间建立映射带来了更大的灵活性。同时也更好的隔离了数据库设计和应用程序中使用的对象模型。

mybatis的作用:
    mybatis是三层架构中数据持久层的框架。
    mybatis对sql进行了封装和外部化,使sql从应用程序代码中分离出来。(业务逻辑从数据库中分离出来,应用程序更容易部署与测试,有更好的可移植性)

mybatis怎么用:
    1.从官网上下载mybatis的jar包,导入项目中
    2.编写配置文件configuration.xml文件(他是mybatis的总配置文件,其中包含数据库信息和mapper文件位置)
    3.编写mapper.xml文件(sql语句就在这)
    4.写个用于存放结果的类
    5.然后就在可在调用了(调用步奏:打开资源(资源为总配置文件)、创建session工厂、session工作打开session、session调用mapper读写数据)
    使用连接:http://blog.csdn.net/weoln/article/details/5782750


mybatis优缺点:
    1.mybatis本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件
    2.mybatis不会对应用程序或者数据库的现有设计强加任何影响
    3.mybatis没有对数据库模型或对象模型的设计做任何假设。
    4.mybatis是某些特性使它能够非常高效的处理大型数据集(支持行处理器,也支持取某个范围内个结果)
    5.mybatis允许你用多种方式建立从对象到数据库的映射关系。mybatis允许你将同一个类以多种方式映射。mybatis支持多种数据获取策略。
    何时不该使用mybatis:
        1.当永远拥有完全控制权时。(可以使用完全的 对象/映射 方案,如hibernate)
        2.当应用程序需要完全动态的sql时。
        3.当没有使用关系数据库时,(或使用的不是真正的关系数据库时,建议使用jdbc)
        4.当mybatis不起作用时。


注:
    ORM(Object-Relation Mapping):是对象关系映射,用来实现程序对象和关系数据库数据之间的映射。本质是将数据从一种形态转换为另一种形态。
    mybatis与ORM不同,他不是直接把类映射成为数据库表或者说把类的字段映射为数据库列,而是把sql语句的参数与结果映射为类。mybatis在类和数据库表间建立一个额外的间接层。
0 0