Mybatis入门

本文介绍了MyBatis框架的基本概念及其发展历程,从ibatis到mybatis的变化,并详细阐述了mybatis作为持久层框架的工作原理,包括配置文件SqlMapConfig.xml的作用、SqlSessionFactory的创建流程、SqlSession接口的功能以及Executor接口的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis入门

1.mybatis介绍

  • mybatis原名是ibatis,是apache的开源项目。ibatis改成mybatis不仅仅是名称的改变,mybatis在功能上也有升级。
  • mybatis是一个持久层的框架,mybatis框架和关系数据库进行交互,将数据持久化到关系数据中。
  • mybatis目前 在github(https://github.com/mybatis/mybatis-3/releases)托管。

  • java中通过jdbc对数据库,jdbc是一套数据库访问接口。mybatis持久层框架对jdbc的封装。

  • mybatis需要程序员自己编写sql,对于一些ORM框架(对象关系映射)一般是不需要程序员来编写sql。

  • mybatis的重点让程序员自己去灵活掌握sql,要对 sql进行优化比较容易让程序员自己掌握。
  • mybatis同时也对jdbc访问数据库的过程 进行了封装,对创建connection、创建statement、手动设置参数、结果集检索等进行封装。

  • mybatis可以通过 xml或注解(不推荐)将statement进行配置,主要完成两个重要核心 功能:

    1、输入映射,将java对象映射到statement中即sql语句的输入参数。
    2、输出映射,将sql语句执行的结果映射成java对象。
    

2.mybatis框架原理

这里写图片描述

  • 1、SqlMapConfig.xml,mybatis全局配置文件,名称不固定的。
    配置了:数据源、事务等运行环境,最重要的是配置mybatis运行所需要的一些配置(Mapper.xml映射配置、全局运行参数、别名…)

    mybatis运行先找SqlMapConfig.xml,由SqlMapConfig.xml找Mapper.xml映射配置。

    Mapper.xml:mybatis的映射文件,配置了sql语句及sql 语句输入参数类型、及sql语句结果集所映射的类型
    在mapper.xml中配置了statement(支持各种statement)了。

  • 2、SqlSessionFactory,通过SqlMapconfig.xml等配置文件构造 一个会话工厂对象,要操作数据库通过SqlSessionFactory创建SqlSession会话。
    作用:创建SqlSession会话

  • 3、SqlSession,mybatis操作数据库使用的会话接口,定义了操作数据库方法(添加、删除、修改、更新)
    SqlSession是一个接口,是一个面向程序员的接口。

  • 4、Executor,是一个接口,是一个操作数据库的底层接口,其实现类有基本执行器、缓存执行器两种
    SqlSession需要通过Executor操作数据库。

  • 5、mybatis底层封装对象,封装了sql语句、输入参数类型、输出结果类型等信息

MyBatis搭建环境

下载mybatis

mybaits的代码由github.com管理,地址:https://github.com/mybatis/mybatis-3/releases

这里写图片描述

mybatis-3.2.7.jar—-mybatis的核心包
lib—-mybatis的依赖包
mybatis-3.2.7.pdf—-mybatis使用手册

创建mysql数据库

在mysql中创建数据库,并且创建脚本:
data.sql:数据脚本,正常企业开发产品时需要提供初始化脚本(初始化数据)
table.sql:表结构脚本,存储了表、存储过程、触发器
这里写图片描述

创建java工程

log4j.properties
这里写图片描述

MyBatis入门案例

未完待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值