Mybatis框架 学习专栏总集篇

Posted codderyouzg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis框架 学习专栏总集篇相关的知识,希望对你有一定的参考价值。

技术图片

基本概念:

图标
技术图片
概念

MyBatis 是一款优秀的持久层框架
它支持定制化 SQL存储过程 以及 高级映射
MyBatis 避免几乎所有JDBC 代码手动设置参数 以及 获取结果集
MyBatis 可以使用简单的 XML配置文件注解配置和映射 原生类型接口Java 的 POJOPlain Old Java Objects,普通老式 Java 对象)为 数据库中的记录

诞生背景

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

特点

  • 自动化
  • 简单易学
  • 灵活
  • sql和代码的分离,提高了可维护性
  • 提供映射标签,支持对象数据库orm字段关系映射
  • 提供对象关系映射标签,支持对象关系组建维护
  • 提供xml标签,支持编写动态sql
  • 最重要的一点:使用的人多!

在本人之前的博文中,本人讲到:dao层的框架,是由hibernate衍变到MyBatis的
那么,hibernateMyBatis之间,有哪些区别呢?

hibernate 与 MyBatis 之间的 区别:

  • hibernate框架中:
    不需要sql
    new一个对象,就调用hibernate的api,使得对象直接映射数据库中了
    因此被称之为 全自动化 持久层框架
    hibernate更强大难懂
  • mybatis框架中:
    sql 是需要 程序员自己写
    因此被称之为 半自动化 持久层框架
    mybatis更灵活易学

Maven导入:

<!-- mybatis核心 -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.6</version>
</dependency>

<!--数据库驱动,根据自己的配置选择版本-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.2</version>
</dependency>

Mybatis初使用:

请观看本人博文 —— 《【Mybatis框架 学习】Mybatis初使用》


相信许多同学看了上面的初始用的例子,对于好多知识点一头雾水
那么,现在本人就来讲解下上文中的CRUD操作的细节

CRUD操作 的细节:

namespace:

namespace中的包名 要和 Dao/mapper 接口的包名一致!

例如:
技术图片


select操作:

  • 功能
    查询语句

  • 属性
  1. id:
    就是对应的namespace中的方法名
  2. resultType:
    Sql语句执行的返回值类型
  3. parameterType:
    参数类型

例如:
技术图片


insert操作:

  • 功能
    插入语句

  • 属性
  1. id:
    就是对应的namespace中的方法名
  2. resultType:
    Sql语句执行的返回值类型
  3. parameterType:
    参数类型

例如:
技术图片


delete操作:

  • 功能
    删除语句

  • 属性
  1. id:
    就是对应的namespace中的方法名
  2. resultType:
    Sql语句执行的返回值类型
  3. parameterType:
    参数类型

例如:
技术图片


update操作:

  • 功能
    修改语句

  • 属性
  1. id:
    就是对应的namespace中的方法名
  2. resultType:
    Sql语句执行的返回值类型
  3. parameterType:
    参数类型

例如:
技术图片


使用mapper定义的sql:

1. 获取SqlSession对象:

格式

InputStream stream = Resources.getResourceAsStream("配置文件的路径名");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(stream);
SqlSession session = sessionFactory.openSession();

例如:
技术图片

2. 根据 需求 调用 相应方法:

相关方法

  • selectOne()
  • selectList()
  • delete()
  • update()
  • insert()

例如:
技术图片


注意点:

增、删、改操作 必须要 提交事务


凡是dao层框架,都用到了一个技术 —— ORM技术
那么,现在,本人就来介绍实现ORM技术

ORM技术 的基本实现:

请观看本人博文 —— 《详解 ORM技术 的基本实现》


官方文档:

若同学们还对于Mybatis框架的基本知识点抱有疑问,请访问下面的官方文档链接:

Mybatis 的 官方文档









































以上是关于Mybatis框架 学习专栏总集篇的主要内容,如果未能解决你的问题,请参考以下文章

#面试# 阿里大佬Java面试通关要点汇总集基础篇核心篇框架篇

Mybatis自定义框架基础学习篇

手写spring+springmvc+mybatis框架篇springIOC容器

MyBatis案例 | 使用映射配置文件实现CRUD操作——动态SQL优化条件查询

Mybatis技术点学习-基础篇

Java面试通关要点汇总集