Mybatis框架 学习专栏总集篇
Posted codderyouzg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis框架 学习专栏总集篇相关的知识,希望对你有一定的参考价值。
基本概念:
图标:
概念:
MyBatis 是一款优秀的持久层框架
它支持定制化 SQL、存储过程 以及 高级映射
MyBatis 避免了几乎所有的 JDBC 代码 、 手动设置参数 以及 获取结果集
MyBatis 可以使用简单的 XML配置文件 或 注解 来配置和映射 原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为 数据库中的记录
诞生背景:
- MyBatis 本是apache公司 的一个 开源项目 —— iBatis
- 2010年这个项目由apache software foundation 迁移到了google code,
并且改名为MyBatis- 2013年11月迁移到Github
特点:
- 自动化
- 简单易学
- 灵活
- sql和代码的分离,提高了可维护性
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,支持编写动态sql
- 最重要的一点:使用的人多!
在本人之前的博文中,本人讲到:dao层的框架,是由hibernate衍变到MyBatis的
那么,hibernate和MyBatis之间,有哪些区别呢?
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操作:
- 功能:
查询语句
- 属性:
- id:
就是对应的namespace中的方法名- resultType:
Sql语句执行的返回值类型- parameterType:
参数类型
例如:
insert操作:
- 功能:
插入语句
- 属性:
- id:
就是对应的namespace中的方法名- resultType:
Sql语句执行的返回值类型- parameterType:
参数类型
例如:
delete操作:
- 功能:
删除语句
- 属性:
- id:
就是对应的namespace中的方法名- resultType:
Sql语句执行的返回值类型- parameterType:
参数类型
例如:
update操作:
- 功能:
修改语句
- 属性:
- id:
就是对应的namespace中的方法名- resultType:
Sql语句执行的返回值类型- 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面试通关要点汇总集基础篇核心篇框架篇
手写spring+springmvc+mybatis框架篇springIOC容器