01_Mybatis简单配置及工程搭建

本文介绍了如何快速搭建一个使用MyBatis的工程,从基础概念到开发环境搭建,包括pom配置、数据库准备、pojo、mapper接口和配置文件的设置,并通过测试验证了MyBatis的基本使用。重点讲解了MyBatis的核心组件和ORM模型。

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

为了偷懒,撇开了JDBC投靠Mybatis。打死都学不会SQL语句的懒癌晚期患者,用Mybatis Generator来解放双手,告别SQL小妖精。

目录

1. 内容简介

     快速搭建一个使用MyBatis的工程,在看到它如何让我们简单方便地操作数据库之后再逐步去了解Mybatis中的基础概念和配置项详解。

官方logo正楼

官方logo来正楼

最系统详细的资料来自于官方:
MyBatis Dochttp://www.mybatis.org/mybatis-3/index.html

2. 基础概念简介

    开始配置及使用mybatis之前需要了解几个基本概念。之所以在开始之间清理概念,在因为在查找资料过程中发现很多C++里面没有的词汇,被entity、pojo、dao、po这些搞晕了,在此进行清理。

  • ORM:对象关系映射
    ORM模型就是数据库表和简单Java对象的映射关系模型,主要解决数据库数据和POJO对象的相互映射。通过这层映射关系就可以简单迅速地把数据库表的数据转化为POJO,这样数据库在我们的程序里就可以在程序里当成一般的Java对象来使用。

    ORM

  • POJO:plain ordinary java object
    直译称作:简单Java对象。
    POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。POJO的格式用于数据的临时传递,它只能装在数据,作为数据存储的载体,而不具有业务逻辑处理的能力。
    主要是用来对只有setter和getter方法的jaava类的简称,同时又为了区别于JavaBean强调类的简单,所以有这样一个称呼。

    “We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it’s caught on very nicely.”--Martin Fowler

    just为程序员的共同语言取了个名字。

    参考链接: POJO的解释

  • DAO : Data Access Object
    数据访问对象。其主要功能是进行数据操作。DAO层在一般程序开发框架中的位置示意图如下:

    这里写图片描述

    DAO层功能定义是:提供多个原子性的DAO操作,数据库的增删改查在应用层都属于原子性操作。
    在实现中,DAO是以接口为操作标准,DAO应该是something的集合的样子,包含以下几个部分:

    • DAO接口:定义数据库的增删操作
      Mybatis中的mapper接口
    • DAO接口的实现:数据的增删改查操作由此部分进行实现
      Mybatis中的mapper接口文件或者基于注解的mapper接口。
    • PO类:属性与数据库表对应的POJO对象
      也有说是VO,关于VO和PO的区别有兴趣可以参看此处,个人觉得是PO,不纠结,只要知道所有跟数据库对应的叫PO、POJO啥的都是表示这个意思就行。
    • 代理实现类:主要完成数据库的打开和关闭,并且调用真实实现类对象的操作。
      对应Mybatis中的SqlSession。
    • 工厂类:通过工厂类取得一个DAO的实例化对象。
      在Mybatis中就是SqlSessionFactory。
      基于以上理解,在示例工程中将不会使用dao来进行命名,因为整个示例才组成一个DAO。
  • MyBatis核心组件

    • SqlSessionFactoryBuilder:会根据配置信息或者代码来生成SqlSessionFactory(工厂接口);
    • SqlSessionFactory:依靠工厂来生成SqlSession(会话);
    • SqlSession:可以发送SQL去执行并返回结果,也可以获取Mapper的接口。
    • SQL Mapper:映射关系的核心实现,负责发送SQL去执行并返回结果。
      他们之间的关联如下:
      这里写图片描述

    详细请参考:MyBatis基础概念

    MyBatis需要提供的映射文件包含三个部分:SQL、映射规则和POJO。映射规则就是我们常见的教程里介绍的xml配置文件,SQL有两种方式提供:接口文件(.xml)和注解。在MyBatis里面称作Mapper。
    MyBatis的ORM模型如下:

这里写图片描述

    厘清以上概念后建立的工程目录如下:

这里写图片描述

    其中,entity包中存放的就是PO或者POJO,也就是与数据库表对应的Java类。mapper包存放的是Mybatis的SQL部分的接口和实现。对于使用接口文件的方式,个人习惯将.xml文件放在resource下mapper文件夹内。service中进行mybatis的调用,包括SqlSessionFactory的生成和mapper接口的调用测试。
    resources目录下包含所需的生成及配置文件,到目前为止,暂时认为都是空的,后面的开发环境搭建中会分别进行填补。

3. 开发环境搭建

3.1. pom配置

     使用Mybatis只需要再工程中添加对应的依赖即可。使用maven搭建使用MyBatis的开发环境十分方便,此处以IntelliJ IDEA作为开发工具建立maven工程,连接的数据库以MySQL为例。
    添加依赖,在pom中加入mybatis包和数据库驱动包(此处是MySQL),version自填,两个包之间的版本号没有关联。

<dependencies>
        ……
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值