Mybatis学习笔记(一)——项目搭建、导入依赖、相关配置

Mybatis学习笔记(一)——项目搭建、导入依赖、相关配置

传送门:Mybatis中文网(入门手册)Mybatis中文网
在这里插入图片描述

一、新建项目

在项目中新建模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、学习Mybatis常用的依赖:

<dependencies>
        <!--Mybatis核心-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>

        <!--junit测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

        <!--Mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.3</version>
        </dependency>

        <!--log4j-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
</dependencies>

三、项目目录结构:

在这里插入图片描述

四、连接数据库前的操作

驱动类Driver,数据库地址URL、用户名username、密码password
使用jdbc.properties来设置,具体内容如下:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=root

在这里插入图片描述
写完jdbc.properties配置文件,怎么把配置和项目联系起来呢?我们就需要在项目的mybatis-config.xml的标签下添加代码:

<properties resource="jdbc.properties" />

就可以把jdbc.properties与项目关联起来了。

如何简化操作,直接创建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>
    <properties resource="jdbc.properties" />
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="></mapper>
    </mappers>
</configuration>


在这里插入图片描述

再回到正文:::

五、创建实体类(从数据库中查询到的数据,接收的实体类,属性名属性值与数据库表中字段一一对应)

在这里插入图片描述

六、创建接口interface UserMapper

在这里插入图片描述

七、如何实现接口中我们规划的功能?(这里以添加用户信息为例int insertUser())

/**
 * @author MIAO
 * @date 2022/4/13-11:43
 * Mybatis面向接口编程的两个一致:
 *  1.映射文件的namespace要和mapper接口的全类名保持一致
 *  2.映射文件中SQL语句的id要和mapper接口中的方法名一致
 *
 *
 *  表---》实体类---》mapper接口---》映射文件
 */

在这里插入图片描述

具体步骤:
在resource目录下新建mappers文件夹,在mappers文件夹下创建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="com.zxm.mybatis.mappers.UserMapper">

    <!--int insertUser();-->
    <insert id="insertUser">
        insert into t_user values(null,'admin','admin',23,'男','12345@qq.com')
    </insert>

</mapper>

通过mapper标签的namespace属性将接口和映射文件联系起来
最重要的是:在mybatis-config.xml文件中还要添加一行代码:把UserMapper.xml加载进项目(引入映射文件)
在这里插入图片描述

八、进行测试

public class MyBatisTest {

    /**
     * SqlSession默认不自动提交事务,若需要自动提交事务
     * 可以使用SqlSessionFactory.openSession(true);
     * @throws IOException
     */

    @Test
    public void testMyBatis() throws IOException {
        //加载核心配置文件
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //获取SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //获取sqlsessionfactory
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        //获取SQL Session
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        //获取mapper接口对象
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        //提交事务
        //sqlSession.commit();
        //测试功能
        int result = mapper.insertUser();
        System.out.println("result:"+result);
    }
}

在这里插入图片描述

在这里插入图片描述

如果觉得这篇博客,对你学习Mybatis有所帮助,还请支持一波,点赞收藏,不投币(●’◡’●),一起学习,一起进步!!


版权声明:本文为qq_43627631原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。