博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四、MyBatis框架介绍及使用
阅读量:6827 次
发布时间:2019-06-26

本文共 1697 字,大约阅读时间需要 5 分钟。

1、什么是MyBatis

1.MyBatis就是一个来封装jdbc的持久层框架,它和hibernate都属于ORM层,但是具体的说,hibernate是一个完全ORM框架,而MyBatis是一个不完全的ORM框架。

2.MyBatis让程序员只关注sql本身,而不需要去关注如连接的创建、statement的创建等操作。

3.MyBatis会将输入参数、输出结果进行映射。

 

2、MyBatis的框架原理

2.1分析结论

1.Mybatis配置文件,包括MyBatis全局配置文件和MyBatis映射文件,其中全局配置文件配置了数据源、事务等信息;映射配置文件配置了SQL执行相关的信息。

2.MyBatis通过读取配置文件信息(全局配置文件和映射文件),构造出SqlSessionFactory,既会话工厂。

3.通过SqlSessionFactory,可以创建SqlSession既会话。MyBatis是通过SqlSession来操作数据库的。

4.SqlSession本身不能直接操作数据库,它是通过底层的Executor执行器接口来操作数据库的。Executor接口有两个实现类,一个是普通执行器,一个是缓存执行器(默认)。

5.Executor执行器要处理的SQL信息是封装到一个底层对象MappedStatement中。该对象包括:SQL语句、输入参数映射信息、输出结果集映射信息。其中输入参数和输出结果的映射类型包括java的简单类型、hashMap集合对象、POJO对象类型。

 

3、入门程序

3.1需求

3.2环境准备

idk

ide

MyBatis

数据库

3.3下载MyBatis

MyBatis的代码由github.com管理,下载地址: 

 

3.4数据库脚本初始化

3.5工程搭建

3.6代码实现

3.6.1创建PO类

3.6.2创建全局配置文件

在config目录下,创建SqlMapConfig.xml文件,该名称不是固定不变的。

需求开发(根据用户ID查询用户信息)

3.6.3映射文件

在config目录下,创建User.xml(这种命名规范是由ibatis遗留下来的)

3.6.4在全局配置文件中加载映射文件

3.6.5测试

4、开发方式

4.1MyBatis开发dao的方式(既开发dao接口和dao实现类)

SqlSessionFactory,它的生命周期,应该是应用范围,全局范围只有一个工厂,使用单例模式来实现这个功能。与spring集成之后,由spring来对其进行单例管理。

SqlSession,它内部含有一块数据区域,存在线程不安全的问题,所以应该将sqlsession声明到方法内部。

测试

4.2Mapper代理的开发方式(既开发mapper接口(相当于dao接口))

Mapper代理的开发规范

1.mapper接口的全限定名要和mapper映射文件的namespace值一致

2.mapper接口的方法名称要和mapper映射文件的statement的id一致

3.mapper接口的方法参数类型要和mapper映射文件的statement的parameterType的值一致,而且它的参数是一个

4.mapper接口的方法返回值类型要和mapper映射文件的statement的resultType的值一致

 

Mapper接口

Mapper映射文件

加载映射文件

测试

 

5、MyBatis整合spring

1.数据信息交给spring管理

2.SqlSessionFactory交给spring进行单例管理

3.由spring来管理原始dao的实现类或者mapper代理的代理类

 

工程搭建:

Mysql的驱动包

MyBatis的核心包和依赖包

MyBatis和spring的整合包

spring的包

dbcp数据库连接池包

 

https://blog.csdn.net/qq_22583741/article/details/79450343

转载于:https://www.cnblogs.com/arrows/p/10368897.html

你可能感兴趣的文章
C#中的Action<>和Func<>
查看>>
关于opencv中人脸识别主函数的部分注释详解。
查看>>
SQLServer内核架构剖析 (转载)
查看>>
Android 风格化的 Toggle Buttons
查看>>
Eclipse中SVN的安装步骤(两种)和用法
查看>>
安全运维之:网络实时流量监测工具iftop
查看>>
在 Windows上配置NativeScript CLI
查看>>
ubuntu14.04 qt4 C++开发环境搭建
查看>>
iOS 通讯录-获取联系人属性
查看>>
HTML5 文件域+FileReader 读取文件(一)
查看>>
有return的情况下try catch finally的执行顺序
查看>>
OSI七层模型具体解释
查看>>
9.中位数与顺序统计量
查看>>
第二章 知识图谱——机器大脑中的知识库
查看>>
Android 从清单配置文件元数据中获取值
查看>>
UML用例图
查看>>
Bitmap基本概念及在Android4.4系统上使用BitmapFactory的注意事项
查看>>
Objective-C:MRC(引用计数器)获得对象所有权的方式(init、retain、copy等)
查看>>
PowerShell 在线教程 4
查看>>
不要让你的未来,现在恨自己
查看>>