您的位置:首页 > 其它

初识MyBatis

2017-07-17 21:56 417 查看

MyBatis框架

  MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。其封装性要低于Hibernate,性能优秀,并且小巧、简单易学,现在应用也越来越广泛。

数据持久化概念

  数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。例如,文件的存储、数据的读取等都是数据持久化操作。数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等。

MyBatis框架简介

  MyBatis是一个开源的数据持久层框架。它内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件中,实现SQL的灵活配置。这样做的好处是将SQL与程序代码分离,可以在不修改程序代码的情况下,直接在配置文件中修改SQL。

  MyBatis的前身是iBatis,本身是Apache的一个开源项目,2010年这个项目有Apache Software Foundation迁移到了Google Code,并改名为MyBatis。2013年迁移到Github。

ORM介绍

  ORM(Object/Relational Mapping)即对象/关系映射,是一种数据持久化技术。它在对象模型和关系型数据库之间建立起对应关系,并且提供了一种机制,通过JavaBean对象去操作数据库表中的数据。

  在实际开发中,程序员使用面向对象的技术操作数据,而当存储数据时,使用的确实关系型数据库,这样造成了很多不便。ORM在对象模型和关系数据库的表之间建立了一座桥梁。有了ORM,程序员就不需要再使用SQL语句操作数据库中的表,使用API直接操作JavaBean对象就可以实现数据的存储、查询、更改和删除等操作。MyBatis通过简单的XML或注解进行配置和原始映射,将实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。

使用MyBatis访问数据库的具体步骤

  1.导入MyBatis的jar包。

  2.编写mybatis-config配置文件。

    a).配置setting。

    b).设置实体类的别名。

    c).配置数据源。

      1.配置事务的实现方式。

      2.配置datasource。

    d).配置mapper映射文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.UserDao">
<select id="getAllUser" resultType="User">
select * from smbms_user
</select>
</mapper>
mapper映射文件

  4.创建测试类测试,通过SqlSessionFactory获得sqlsession。

MyBatis的优缺点

  优点:

  1).与JDBC相比,减少了50%以上的代码量。

  2).MyBatis是最简单的持久化框架,小巧并且简单易学。

  3).MyBatis箱单灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并且可重用。

  4).提供XML标签,支持编写动态SQL语句。

  5).提供映射标签,支持对象与数据库的ORM字段关系映射。

  缺点:

  1).SQL语句的编写工作量较大,对开发人员编写SQL语句的功底有一定要求。

  2).SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

  适用场合:

  MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。适用于对性能的要求很高,或者需求变化较多的项目。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: