MyBatis简介

1.什么是 MyBatis?

        MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

2.MyBatis

          1.1 mybatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
  mybatis是一个基于Java的持久层框架(半自动)。持久层框架就是操作数据库的框架,对之前使用的JDBC代码进行了封装。
          ORM(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术(将Java中的对象和数据库中的表关联对应起来)。理解为:Java对象与数据库表的映射管理框架。
          Mybatis相当于将mapper中的入参和出参结果集封装到java的POJoQ类中,实际上Mybatis是半ORM,它鼓励开发人员自己去写sql,也正是因为sql语句要自己写,所以Mybatis是将java方法与SQL句关联起来,而没有将java对象与数据库关联起来。

         1.2 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
      MyBatis使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。  
     可以把mybatis看做是高级的jdbc,用来解决jdbc的缺点:
    1)、自动注册驱动 ;
    2)、自动创建jdbc中使用的Connection, Statement,ResultSet;
    3)、自动执行sql语句, 得到ResultSet;
    4)、自动处理ResultSet, 把记录集中的数据转为java对象, 同时还能把java对象放入到List集合;
    5)、自动关闭资源;
    6)、自动实现sql语句和java代码的解耦合;

3、mybatis与hibernate的区别

   这种面试一般会被问到

   两者均为ORM框架,但也有一些不同:

mybatishibernate
轻量级重量级
半自动化全自动化
sqlhql(但也可以使用sql,但违背了hibernate的初衷
扩展性、迁移性比较差无缝移植

以下是pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.zking</groupId>
  <artifactId>spring_04</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>spring_04 Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project-build-sourceEncoding>UTF-8</project-build-sourceEncoding>
    <mybatis-version>3.5.7</mybatis-version>
    <mybatis-generator-maven-plugin-version>1.3.2</mybatis-generator-maven-plugin-version>

  </properties>


    <!-- mybatis依赖 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis-version}</version>
    </dependency>
  

  <build>
    <plugins>
      <!--MyBatis自动生成工具插件-->
      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>${mybatis-generator-maven-plugin-version}</version>
        <configuration>
          <verbose>true</verbose>
          <overwrite>true</overwrite>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql-version}</version>
          </dependency>

        </dependencies>

      </plugin>

    </plugins>


  </build>
</project>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值