教你如何搭建一个MyBatis框架(详解)

本文详细介绍了如何从头搭建一个MyBatis框架,包括下载jar文件、创建JavaWeb项目、配置核心配置文件、编写实体类、创建Mapper接口和SQL映射文件,以及编写测试类进行验证。整个过程清晰地展示了MyBatis与数据库交互的基本流程。
摘要由CSDN通过智能技术生成

1,下载所需的jar文件

        可以从GitHub下载所需的MyBatis框架组件,访问https://github.com/mybatis/mybatis-3/tags 可以查看各版本的MaBatis。

2,创建项目并且添加所需的jar文件

        使用idea创建一个Java Web项目,将mybatis-3.5.1.jar、以及MySQL数据库驱动文件mysql-connector-java-。0.19.jar添加到项目中。如下图所示:
在这里插入图片描述
        先在web的WEB-INF目录下创建一个lib目录,再把所需 jar文件赋值到lib文件下。然后再IDEA中选择“File-Project Structure,然后再左侧窗格中选中“Modules”,如下图的对话框。”
在这里插入图片描述
        然后在中间窗格中选中自己创建的项目,右侧窗格中选择“Dependencies”选项卡,点击“+”,在弹出的菜单中选择“JARs or directories命令”,点击之后会打开一个对话框,如下图所示:
在这里插入图片描述
        找到自己刚刚创建过的项目,找到lib文件夹,选中所需的jar文件并点击“OK”即可。
在这里插入图片描述
在这里插入图片描述

3,编写MyBatis框架的核心配置文件

        MyBatis框架的核心配置文件主要应用于配置连接数据库的相关信息以及影响MyBatis框架运行时行为的属性。
        为了方便分类管理,常常在项目中新建一个resources资源目录,用来存放各种配置文件。先右击项目创建一个目录resources,如图
在这里插入图片描述
        然后再右击resources目录,选中Mark Directory as ,在弹出的对话框中点击Resource Root 命令,将其设置为资源目录,如图所示:
在这里插入图片描述

        点过之后resources目录就会变颜色。
在这里插入图片描述
        然后再resources目录下右键新建一个file,命名为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>
    <!--引入外部配置文件  property是子标签-->
    <properties resource="database.properties"></properties>
    <!--影响MyBatis运行时行为-->
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>
    <!--为Java配置一个简短的别名-->
    <typeAliases>
        <package name="cn.pojo"/>
    </typeAliases>
    <!--环境的配置-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${user}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="cn/user/UserMapper.xml"></mapper>
    </mappers>

</configuration>

        其次,在resources目录下再创建一个连接数据库的驱动配置文件database.properties。再把下面的代码赋值到database.properties中。

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/cvs_db?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=convertToNull
user=root
password=root

4,创建实体类

        根据现有的数据库创建一个实体类

package cn.pojo;

public class User {
    private int id;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    private String password;
}

5,创建Mapper接口

        在MyBatis框架下,Mapper接口是指用于绑定到SQL映射语句下的接口,又称映射器,通常与SQL映射文件配合使用。对应用而言,Mapper接口即为DAO接口,定义了对数据进行持久化操作的API。命名一般都是“实例类名”+Mapper的规则。一般放在与DAO组件相关的包路径下。如图所示:
在这里插入图片描述
        UserMapper中的代码如下:

public interface UserMapper {
    public int getUserCount();
}

6,创建SQL映射文件

        定义与用户操作相关的SQL映射文件,该文件是一个XML文件。SQL映射文件一般与相关的Mapper接口配合使用,属于DAO组件,且针对特定的实体类,所以其命名规则与Mapper接口相同,为“实体类名”+Mapper,且通常与Mapper接口放在同一个包下。现在dao包中创建一个UserMapper.xml文件,再把下面的内容复制过去。

<?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 namespace="cn.dao.UserMapper">
	<select id="getUserCount" resultType="java.lang.Integer">
        select count(*) from t_sys_user
    </select>
</mapper>

        
各元素的含义如下:
mapper:SQL映射文件的根元素,只有一个namespace属性。
        namespace:命名空间,用于对SQL映射进行组织和管理,实现了SQL映射的隔离,取值应是全局唯一。
select:表示查询语句,MyBatis框架的SQL映射中常用的元素之一,部分属性如下:
        id:SQL语句的标识符,取值在该命名空间下唯一,一般与接口名相同。
        resultType:SQL语句的返回值类型。

        注意:SQL映射文件的路径信息需要添加到MyBatis框架的核心配置文件mybatis-config.xml中。如下图所示:
在这里插入图片描述

7,编写测试类

        为了方便测试类管理,我们一般会在项目中创建一个test文件夹,用来存放测试相关的代码。右击项目创建test文件夹,然后右击test文件夹,选择“Mark Directory as ”,然后在弹出的对话框中选择Test Sources Root 命令,将其设置为测试类的源代码根目录。如图所示:

在这里插入图片描述

在这里插入图片描述

        在test目录下对UserMapper接口的方法测试。首先打开UserMapper接口,右击源代码编辑界面,在弹出的菜单中选择Go To,然后再选择Test命令,打开如下图所示的对话框:
在这里插入图片描述
        然后点击第二个,Create New Test…如下图:
在这里插入图片描述
        需要设置以下内容:

  1. 设置组件为JUnit4。
  2. 单击“Fix”按钮,为项目添加JUnit4依赖,打开如下图所示的对话框,可以直接点击OK,此功能需要联网。也可以选择自己已经下载好的JUnit4依赖。
  3. 测试类的名字以及所在的包下可以不用更改。
  4. 把要实现的方法勾选上。
    在这里插入图片描述
            最后效果如下图;
    在这里插入图片描述
            ok之后test目录下就会自动生成一个测试类,如下:

在这里插入图片描述
        然后开始在这个测试类中编写代码:

public class UserMapperTest {

    @Test
    public void getUserCount() {
        SqlSession sqlSession = null;
        try {
            InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            sqlSession = factory.openSession();
            int count= sqlSession.getMapper(UserMapper.class).getUserCount();
            System.out.println(count);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

        运行结果如下所示:
在这里插入图片描述

        好了,以上便是如何搭建一个MyBatis框架了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦梦~~

你的鼓励是对我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值