Mybatis(调用简图和框架设计思路)+手写模拟mybatis源码分享

Mybatis基础
摘要由CSDN通过智能技术生成

近期深入学习我们工作中基本都会使用到的Mybatis框架,从mybatis的框架设计上收获良多,下面用一篇简单易懂的文章分享一下学习心得,文末会结合阅读的源码结构进行模拟手写一个简易版的mybatis调用代码加深理解。

一.什么是Mybatis?

根据官网定义:mybatis – MyBatis 3 | Introduction

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

二.Mybatis作为ORM框架,和传统的JDBC有什么区别?

ORM全称是Object-Relaction-Mapper,顾名思义就是将对象-数据库关系映射,就是通过Java的POJO类(类似Model层的VO)直接与数据库的表/字段建立关联关系,让使用者可以直接通过Java去直接直观地操作数据库表/字段。

ORM框架是为了解决JDBC一系列存在问题而诞生,那么传统JDBC存在哪些弊端呢?

(1)JDBC底层没有使用连接池,操作数据库需要不断创建连接,关闭连接,会带来比较大的性能消耗;

(2)JDBC的sql在Java原生方式编写,如果改动需要重新编译不利于系统维护;

(3)JDBC使用PrepareStatement预编译方式,对变量赋值时需要维护索引号,需要使用setInt、setString等硬编码写法,不利于拓展;

(4)JDBC返回的结果集ResultSet解析结果时,也不得不进行硬编码。

而Mybatis针对这些问题都封装了一系列工具类来解决,使得使用者不需要过多关注JDBC层的连接和硬编码问题。

三.快速开始

下面以我自己使用的配置,对mybatis的简单使用进行介绍,更多使用可以查阅官网。

Maven配置添加mybatis依赖:

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.4.1</version>
</dependency>

resources目录下mybatis-config.xml全局文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值