6.1 MyBatis基础

1.MyBatis概述

MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis,2013年11月MyBatis又被迁移到Github。

MyBatis是一个支持普通SQL查询、存储过程以及高级映射的持久层框架,它消除了几乎所有的JDBC代码和参数的手动设置以及对结果集的检索,使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录,使得Java开发人员可以使用面向对象的编程思想来操作数据库。

2.MyBatis工作原理

MyBatis框架是一个ORM(Object/Relation Mapping,即对象关系映射)框架。所谓的ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。

使用ORM框架后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象,ORM框架会通过映射关系将这些面向对象的操作转换成底层的SQL操作,ORM框架的工作原理如下图所示。

6.1 MyBatis基础_第1张图片

3.MyBatis与JDBC对比

JDBC

MyBatis

SQL与代码耦合度高
代码冗长、开发效率低

SQL与代码耦合度高
代码冗长、开发效率低

4.常用配置元素

MyBatis映射文件中的常用元素有

用于映射查询语句。

用于映射插入语句。

用于映射删除语句。

用于映射更新语句。

描述数据库结果集和对象的对应关系。

可以重用的SQL块,也可以被其他语句使用。

元素用来映射查询语句,它可以从数据库中查询数据并返回。使用 select * from t_student where id = #{id}
  • id,表示命名空间中 select * from t_student where 1 = 1 and name like CONCAT('%',#{name},'%') and idcard like CONCAT('%',#{idCard},'%')

    元素

    元素主要用于更新操作,它可以在动态SQL语句前输出一个set关键字,并将SQL语句中最后一个多余的逗号去除。元素与元素结合可以只更新需要更新的字段。

    
    
        update t_student
        
            
                name = #{name},
            
            
                idcard = #{idCard},
            
        
        where id = #{id}
    

你可能感兴趣的:(SpringBoot入门实战,spring,spring,boot,mybatis)