mybatis的环境搭建

mybatis的环境搭建

1、创建maven工程并导入坐标

创建mybatis需要的依赖有下面几个:

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

首先是mybatis,这里用的是3.4.5版本的

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>

接着是mysql的相关jar包,注意:对与高版本的mysql(如mysql8.0版本及其以上),需要用的mysql-connector-java最好是在8.0以上版本,不然会出现错误提示

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>

接着是日志jar包和junit(一个用于单元测试的包)

2、创建实体类和到接口

在这里插入图片描述
在上面的例子中,我在main中的java创建了一个dao包,里面存放着dao的接口,然后在同级目录下创建了实体类。

dao接口:
在这里插入图片描述
实体类:
在这里插入图片描述
实体类中的字段是关于数据库中某个表的列的字段的映射,一般我们取名和数据库中的列名一致

补充:在mybatis中把持久层的操作接口名称和映射文件也叫做Mapper,所以IUserDao和IUserMapper是相同含义的
3、创建mybatis的主配置文件

mybatis的主配置文件放在resource文件中:
在这里插入图片描述
一般主配置文件命名为SqlConfig,它是一个xml文件,主配置文件SqlConfig.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元素中,如下:

<!--mybatis的主配置文件-->
<configuration>
    <!--配置环境-->

    <!--default是起一个名字-->
    <environments default="mysql">
        <!--配置mysql的环境-->
        <environment id="mysql">
            <!--配置事务的类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源,也叫连接池-->
            <dataSource type="POOLED">
                <!--配置连接数据库的4个基本信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <!--后面的liaobinyu表示的是数据库-->
                <property name="url" value="jdbc:mysql://localhost:3306/liaobinyu"/>
                <property name="username" value="root"/>
                <property name="password" value="liaobinyu"/>
            </dataSource>
        </environment>
    </environments>

    <!--指定映射配置文件的位置,映射配置文件时指每个dao独立的配置文件-->
    <mappers>
        <mapper resource="com/liaobinyu/dao/IUserDao.xml"/>
    </mappers>
</configuration>

配置主配置文件大概是以下步骤:

  • 头文件
  • configuration
    • environments default=“ ”
      • environment id=“ ”
      • transactionManager type=“ ”
      • dataSource type=“ ”
        • 配置数据库的四个信息
4、创建映射配置文件

映射配置文件放在resource文件夹下,头文件为:

<?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">

在这里插入图片描述

补充:
mybatis环境搭建的注意事项:

  1. 创建IUserDao.xml和IUserDao.java时时为了和我们之前的知识保持一致。在mybatis中他把持久层的操作接口名称和映射文件也叫做:Mapper,所以IUserDao和IUserMapper是一样的

  2. 在IDEA中创建目录的时候,他和包是不一样的,包在创建时:com.liaobinyu.dao,它是三级结构,目录在创建时:com.liaobinyu.dao是一级目

  3. mybatis的映射配置文件位置必须和dao接口的包结构相同

  4. 映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
    如下图:
    在这里插入图片描述

  5. 映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名

当我们遵从了第三,第四,第五点之后,我们在开发后就无需再写dao的实现类

mybatis入门案列

在这里插入图片描述
上述的有以下几个步骤:

  1. 读取主配置文件:
    在这里插入图片描述

    • 使用类加载器,它只能读取类路径(项目下的src,或者maven项目下的java下和resource下)的配置文件
    • 使用ServletContext对象的getRealPath()
  2. 创建SqlSessionFactory工厂
    在这里插入图片描述
    创建mybatis使用了构建者模式,优势就是把对象的创建细节隐藏,使使用者直接调用方法即可拿到对象
    在上面的例子中,builder就相当于一个构建者,我们创建一个构建者,然后给构建者提供所需要的配置文件,使其帮我们创建一个工厂factory

  3. 创建SqlSession
    在这里插入图片描述

  4. 创建Dao接口的代理对象
    在这里插入图片描述
    这里需要注意的是:要想实现能够创建Dao接口的代理对象,则必须满足:
    (1)mybatis的映射配置文件位置必须和dao接口的包结构相同
    (2)即映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名

  5. 执行Dao接口中的方法
    在这里插入图片描述

  6. 释放资源
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值