MyBatis教程看这一篇就够啦,简单又全面(IDEA版)

这篇博客详细介绍了MyBatis的使用,包括MyBatis的简介、框架部署、CRUD操作、事务管理、主配置文件解析和分页插件的配置。适合初学者了解并上手MyBatis。
摘要由CSDN通过智能技术生成

目录

一、MyBatis简介

1.1 MyBatis介绍

为什么需要Mybatis?

二、MyBatis框架部署

2.1 创建Maven项目

2.2 在项目中添加MyBatis依赖

2.3 创建MyBatis配置文件

三、MyBatis框架使用

3.1 创建数据表

 3.2 创建实体类

 3.3 创建DAO接口,定义操作方法

 3.4 创建DAO接口的映射文件

3.5 将映射文件添加到主配置文件

四、单元测试

4.1 添加单元测依赖

4.2 创建单元测试类

 4.3 测试代码

五、MyBatis的CRUD操作

5.1 添加操作

5.2 删除操作

5.3 修改操作

5.4 查询操作-查询所有

5.5 查询操作-查询一条记录

5.6 查询操作-多参数查询

5.7 查询操作-查询总记录数

5.8 添加操作回填生成的主键

六、MyBatis工具类封装

七、事务管理

7.1 手动提交事务

7.2 自动提交事务

八、MyBatis主配置文件

8.1 properties标签

8.2 settings标签

8.3 typeAliases标签

8.4 plugins标签

8.5 environments标签

8.6 mappers标签

九、映射文件

9.1 MyBatis Mapper初始化

9.2 mapper根标签

9.3 insert标签

9.4 delete标签

9.5 update标签

9.6 select标签

9.7 resultMap标签

9.8 cache标签

9.9 sql和include

十、分页插件

10.1 添加分页插件的依赖

10.2 配置插件

10.3 分页实例


一、MyBatis简介

1.1 MyBatis介绍

MyBatis是一个半自动ORM框架

ORM(Object Relational Mapping)对象关系映射,将Java中的一个对象与数据表中一行记录一一对应。

ORM框架提供了实体类与数据表的映射关系,通过映射文件的配置,实现对象的持久化。

中文文档mybatis – MyBatis 3 | 简介

Github:GitHub - mybatis/mybatis-3: MyBatis SQL mapper framework for Java

  • MyBatis的前身是iBatis,iBatis是Apache软件基金会提供的一个开源项目

  • 2010年iBatis迁移到Google code,正式更名为MyBatis

  • 2013年迁移到Github托管

  • MyBatis特点:

    • 支持自定义SQL、存储过程

    • 对原有的JDBC进行了封装,几乎消除了所有JDBC代码,让开发者只需关注SQL本身

    • 支持XML和注解配置方式自定完成ORM操作,实现结果映射

持久化-->数据持久化

  • 持久化就是将程序的数据在持久状态瞬时状态转化的过程

  • 内存:断电即失

  • 数据库(Jdbc),io文件持久化

  • 生活方面例子:冷藏,罐头。

为什么需要持久化

  • 不想丢掉一些对象

  • 内存太贵

持久层

Dao层,Service层,Controller层…
  • 完成持久化工作的代码块

  • 层界限十分明显

为什么需要Mybatis?

  • 帮助程序猿将数据存入到数据库中

  • 方便

  • 传统的JDBC代码太复杂,简化–>框架–>自动化

最重要的一点:使用的人多!   Spring-SpringMVC-SpringBoot

二、MyBatis框架部署

框架部署,就是将框架引入到我们的项目中

思路:搭建环境–>导入Mybatis–>编写代码–>测试

2.1 创建Maven项目

  • Java工程

  • Web工程

2.2 在项目中添加MyBatis依赖

  • 在pom.xml中添加依赖

    • mybatis

    • mysql driver

    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.6</version>
    </dependency>

2.3 创建MyBatis配置文件

  • 创建自定义模板:选择resources----右键New----Edit File Templates

  • 在resources中创建名为mybatis-config.xml的文件

  • 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配置数据库连接信息 -->
        <!-- 在environments标签中可以定义多个environment标签,每个environment标签可以定义一套连接配置 -->
        <!-- default属性,用来指定使用哪个environment标签 -->
        <environments default="mysql">        
            <environment id="mysql">
                <!--transactionManager标签用于配置数据库管理方式-->
                <transactionManager type="JDBC"></transactionManager>
                <!--dataSource标签就是用来配置数据库连接信息 -->
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf-8"/>
                    <property name="username" value="root"/>
                    <property name="password" value="admin123"/>
                </dataSource>
            </environment>        
        </environments>
    </configuration>

三、MyBatis框架使用

案例:学生信息的数据库操作

3.1 创建数据表

tb_students

 3.2 创建实体类

Student.java (导入lombok依赖)

 3.3 创建DAO接口,定义操作方法

StudentDAO.java

 3.4 创建DAO接口的映射文件

  • resources目录下,新建名为mappers文件夹

  • mappers中新建名为StudentMapper.xml的映射文件(根据模板创建)

  • 在映射文件中对DAO中定义的方法进行实现:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mapper文件相当于DAO接口的‘实现类’,namespace属性要指定`实现`DAO接口的全限定名-->
<mapper namespace="com.qfedu.dao.StudentDAO">
    <insert id="insertStudent">
        insert into tb_students(stu_num,stu_name,stu_gender,stu_age)
        values(#{stuNum},#{stuName},#{stuGender},#{stuAge})
    </insert>
    <delete id="deleteStudent">
        delete from tb_students where stu_num=#{stuNum}
    </delete>
</mapper>

3.5 将映射文件添加到主配置文件

mybatis-config.xml

四、单元测试

4.1 添加单元测依赖

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>

4.2 创建单元测试类

在被测试类名后alt+insert --- 选择Test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值