阿里云
为了无法计算的价值
打开APP
阿里云APP内打开
学习中心> MyBatis持久层框架入门> 正文

MyBatis持久层框架入门

10课时 |
1628人已学 |
免费
课程介绍
通过本节课的学习,能够掌握curd操作,学习配置文件优解析、配置文件优化、解决属性名和列名不一致等相关技术。
 

 

Mybatis 第一个应用程序

 

内容简介:

1. 第一个应用程序

2、第一讲 Mybatis 开端

3、步骤

 

1.第一个应用程序

MyBatis 本是 apache 一个开源项目 iBatis,2010年,这个项目由 apache software foundation 迁移到了 Google code ,并且改名为 MyBatis。

2013年11月迁移到 Github。iBATIS一词来源于 internet 和 abatis 组合,是一个基于 java 的持久层框架,Ibatis 提供的持久层框架包括 SQL Maps 和 Data Access Object。

 

2、第一讲 Mybatis 开端

Mybetis 是一个基于 java 的持久层框架。

持久化指下一次开机还能访问上次的,数据从瞬时状态变为持久状态,就是持久化。数据写入文件写入库写入光盘也是一种持久化。

持久层指的是完成持久化工作的代码。

Mybetis 就是帮助程序员将数据存入数据库中取出数据。

传统的 gdbc 操作有很多重复的代码块。比如数据每次取出来后,都需要封装,数据库的建立连接等等。

学习 mybetis 最直观的感受就是数据不需要再自行封装。通过框架可以减少重复代码,提高开发效率。

Mybetis 是一个半自动化 Orm 框架,因为使用 mybetis 时还需要书写语句,其并不是自动化框架。

O 指的是 object,R 指的是 relationship,M 指的是 mapping。

Java 是面向对象的,而数据库是关系型,通过 gdpc 就是将对象转化成关系的过程,将对象信息转化到数据库中。

Mybetis 是支持普通 sql 查询存储过程和高级映射的优秀持久层框架。

Mybetis 消除了几乎所有的 jdbc 代码和参数的手工设置以及结果集的检测。

Mybetis 使用简单的 xml 或注解,用于配置和原始映射,将接口和 java 的 pojos 映射成数据库中的记录。

每个 mybetis 应用程序主要都是使用 sqlSessionFaction 实例的,一个sqlSessionFaction 实例可以通过 sqlSessionFaction Builder 获得。

sqlSessionFaction Builder 可以从一个 xml 配置文件或者一个预定义的配置类的实例获得。

用 xml 文件构建 sqt session factory 实例是非常简单的事情,推荐在这个配置中使用类路径资源(Classpath resource)。

但可以使用其他 reader 实例,包括用文件路径或 file 开头的 url 创建的实例。

mybetis 有一个实用类 resources,它有很多种方法,可以方便的从类路径及其他位置加载资源。

需要使用时,要用 maven 方式来进行安装,安装相当于把一个 jar 包导入项目中。

 

3、步骤:

(1)导入 mybetis 相关 jar 包

新建一个文件夹存放 jar 包,放入核心包,放进依赖包 lib,放入数据库 jar 包。

(2)从 xml 创建一个 Sqlsessionfactory

(3)编写 mybetis 核心配置文件

代码中以下代码用于连接数据库的四大项

均可通过 copy 实现

(4)创建一个 sqlsessionfactory

书写一个静态方法注意更改自己的 resource

without Xml,证明 sqlsessionfactory 不用 xml 也可以创建。

从 sql session factory 去读写 sql session。SQLsession 变量从 sqlsessionfactory就可以得到。

由此可以获得 Sqlsession。

(5)创建实体类

代码中没有 blog 和 Blog mapper,所以需要创建实体类。

(6)在代码中有 mapper

之前建立的代码中存在未学习过的代码中也有 mapper 与其关联较大。

往下读的第一串代码是用于读取 mapper。第二串代码中存在与开头的代码相同的地方。

Mybatis 是一个半自动化的。使用 mybatis 还需要自己写 sql 语句。由此可知,此处作用就是获取一个 sql 语句。

(7)编写 sql 语句的映射文件

将代码写到查询 user 包中,File name 为 usermapper,将以下代码拷贝进去进行更改

Resulttype 是查询结果类型,类型为 blog不合适,一般情况下,包名加类名可以决定一个类型,所以最好加上报名加类名。

更改结果如下

图片86.png

进行完上一步后,可以开始测试。观察是否能够查出。

书写一个不存在方法的测试包

不需要类型转换,输出 id,name,pwd,最后相当于释放资源。此时可以开始进行测试。此时的代码无法运行,因为创建 sqlsession 错误,不存在文件,但是在代码中出现了该文件,所以应该将路径改为自己的路径,运行结果成功查询。

进行比较,原来不必写 session,但是要写 Result set,且需要封装,但此时不需要封装。

所以一些文件不需要重复写,可直接进行查询。

我的学习进度
请登录后查看您的学习进度!
立即登录
本课程相关云产品