前言:此文章为记录本人学习Mybatis与Maven文件管理的自我梳理,进行了对数据库基本的插入数据操作(其实其他操作也类似,在映射文件里写好就行)。

1.maven项目

首先用idea建立一个maven新项目,注意,我用的是2022版本的idea所以可以直接新建项目中选择maven文件,低级版本操作不同;
在这里插入图片描述

2.数据库建立

此时我用之前所建立的数据库,方便。
在这里插入图片描述

3.xml文件配置依赖

  注意版本选择,配置pom.xml文件。

(1)mysql 驱动依赖
(2)junit 测试单元依赖
(3)mybatis 依赖:https://mybatis.org/mybatis-3/zh/getting-started.html;从此网站获取mybatis配置操作

 <dependencies>
        <!-- mysql 驱动 依赖   -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>

        <!--junit 测试单元依赖-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <!--mybatis 依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>


    </dependencies>

(4)查看依赖项是否成功;
在这里插入图片描述

3.mybatis-config.xml文件配置

在main_resource下建立mybatis-config.xml文件,然后从官方文档复制并在xml配置mybatis核心

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--配置数据库环境-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?serveTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    
    <!--引入mybatis映射文件-->
    <mappers>
        <mapper resource=" "/>
    </mappers>
</configuration>

注意此时还未引入mybatis映射文件

4.User.java

main_java_com.mybatis.pojo
对应数据库变量,给构造器和getter、setter、toString方法

package com.mybatis.pojo;

public class User {
    private Integer id;
    private String name;
    private Integer achievement;
    
    public User(){
        
    }

    public User(Integer id, String name, Integer achievement) {
        this.id = id;
        this.name = name;
        this.achievement = achievement;
    }

    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public Integer getAchievement() {
        return achievement;
    }

    public void setAchievement(Integer achievement) {
        this.achievement = achievement;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", achievement=" + achievement +
                '}';
    }
}

5.创建mapper接口

在这里插入图片描述

package com.mybatis.mapper;

public interface UserMapper {
    int insertUser();
}

6.配置映射文件

在resources包下建立MapperUser.xml映射文件,名字跟接口文件一样,并在官方文档复制并配置。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace要与接口文件位置一致-->
<mapper namespace="com.mybatis.mapper.UserMapper">
    
    <!--int insertUser()-->
    <!--
        mapper接口要和映射文件保持两个一致
        1、mapper接口的全类名要和映射文件的namespace一致;
        2、mapper接口中的方法要和映射文件中的sql的id一致;
    -->
    <insert id="insertUser">
        insert into tb_user values(5,'二蛋',55);
    </insert>
    
</mapper>

7.引入mybatis的映射文件

回到mybatis-config.xml,把UserMapper.xml映射文件引入;

<!--引入mybatis映射文件-->
    <mappers>
        <mapper resource="UserMapper.xml"/>
    </mappers>

注意:可为源根路径

8.TestMybatis.java,测试

注意:因为此时我还没学习其他知识,所以这里的测试代码特别抽象;
在这里插入图片描述

package com.test;

import com.mybatis.mapper.UserMapper;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import org.junit.Test;
import org.apache.ibatis.io.Resources;

import java.io.IOException;
import java.io.InputStream;

public class TestMybatis {
 @Test
 public void testInsert() throws IOException {
     //获取核心配置文件的输入流
     InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
     //获取SqlSessionFactoryBuilder对象
     SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
     //获取sqlSessionFactory对象
     SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream);
     //获取sql的会话对象SqlSession,是myBatis提供的数据库对象
     SqlSession sqlSession = sqlSessionFactory.openSession();
     //获取UserMapper的代理实例化对象
     UserMapper mapper = sqlSession.getMapper(UserMapper.class);
     //调用mapper接口中的方法,实现添加用户信息的功能
     int result = mapper.insertUser();
     System.out.println("结果:"+result);
     sqlSession.commit();//提交事务
     //关闭sqlSession对象
     sqlSession.close();
 }
}

查看运行结果
在这里插入图片描述

9.返回数据库查看结果

查看表是否成功添加名字为‘二蛋’的数据
在这里插入图片描述
成功!!!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐