首页 > 编程语言 >mybatis源码研究、搭建mybatis源码运行的环境

mybatis源码研究、搭建mybatis源码运行的环境

时间:2023-07-29 17:03:37浏览次数:48  
标签:sqlSession 源码 org mybatis import 下载 搭建


文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、有兴趣的可以关注一手。

前提

研究源码、对我们的技术提高还是很有帮助的。简单的源码建议从mybatis入手。涉及到的设计模式不是很多。需要下载mybatis的源码父工程依赖。注意下载的mybatis中的父工程依赖版本要对应。这里下载较稳定的版本。mybatis-3.5.3。对应的父版本是31。

mybatis-3.5.3下载地址:github地址mybatis-parent下载地址:github下载地址

如果访问github比较慢、评论区置顶我给出了下载好的项目源码地址链接。

搭建环境

1、首先创建一个Maven项目

具体创建过程略

mybatis源码研究、搭建mybatis源码运行的环境_sql

2、导入源码

打开项目结构、或者按快捷键:Ctrl + Alt + Shift + S

选择Modules --》 点击 + 号 --》选择 import Module --》 选择下载的源码

mybatis源码研究、搭建mybatis源码运行的环境_apache_02

将下载的源码导入

mybatis源码研究、搭建mybatis源码运行的环境_sql_03

选择后,弹出一个对话框、选择 Maven 后点击 finish

mybatis源码研究、搭建mybatis源码运行的环境_mybatis_04

将下载的两个源码都导入

mybatis源码研究、搭建mybatis源码运行的环境_apache_05

将两个源码导入后的项目结构

mybatis源码研究、搭建mybatis源码运行的环境_apache_06

3、在创建的Maven项目中,添加代码

自己创建一个数据库、编写几个查询语句、没啥好说的。这里简略

mybatis源码研究、搭建mybatis源码运行的环境_apache_07

4、Debug运行研究源码

然后就可以通过Debug方式查看代码执行情况了

测试类

package com.zyz;

import com.zyz.mapper.userMapper;
import com.zyz.entity.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.util.List;

/**
 * @author zyz
 * @version 1.0
 * @data 2023/7/28 12:48
 * @Description:
 */
public class AppTest {


    @Test
    public void test() throws IOException {
        InputStream input = Resources.getResourceAsStream("SqlSessionConfig.xml");
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(input);
        SqlSession sqlSession = sessionFactory.openSession();
        userMapper dao = sqlSession.getMapper(userMapper.class);
        System.out.println(dao);
        List<User> userList = dao.selectAllUser();
        for (User level : userList) {
            System.out.println(level);
        }
    }

    @Test
    public void testMyBatisBuild() throws IOException {
        Reader reader = Resources.getResourceAsReader("SqlSessionConfig.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
        SqlSession sqlSession = factory.openSession();
        userMapper mapper = sqlSession.getMapper(userMapper.class);
        User one = mapper.getOne(1);
        System.out.println(one);
        sqlSession.close();
    }

}

5、项目启动效果

mybatis源码研究、搭建mybatis源码运行的环境_java_08


mybatis源码研究、搭建mybatis源码运行的环境_apache_09

可能遇到的问题

出现的问题、一般都是由于依赖导致。下载对应的依赖就可以了。

mybatis源码研究、搭建mybatis源码运行的环境_java_10

在自己创建的maven工程下的pom中添加如下依赖

<dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.24.1-GA</version>
        </dependency>

是不是xml文件没有编译、如果是,就在自己的pom文件中添加下方代码。

mybatis源码研究、搭建mybatis源码运行的环境_apache_11


mybatis源码研究、搭建mybatis源码运行的环境_sql_12


添加

<build>
        <!-- 加载配置文件 -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

后语

如果你嫌弃麻烦、不想自己搭建这个环境。我这里将搭建好的环境已经打包好,地址链接在评论区置顶。你直接拿来运行、研究代码就可以了。个人建议还是搭建一下环境比较好。也能学到蛮多。


标签:sqlSession,源码,org,mybatis,import,下载,搭建
From: https://blog.51cto.com/u_15740728/6893744

相关文章

  • 使用APP源码搭建直播网站难不难
    过去,微博、微信、QQ等是互联网主要的引流渠道,而如今直播作为新兴的社交方式,是各行各业最热门的营销工具,现在各行各业都或多或少渗入到了网络直播,很多人问,搭建一个直播网站到底难不难,今天我们就来探讨下这个问题。1.确定网站需求:例如,确定开发者要提供哪些类型的直播内容,是Tob,还是T......
  • PAAS低代码企业应用程序开发平台源码:可实现功能应用边使用边修改
    一套可视化建模,描述式编程的企业应用程序开发平台。只需简单的点击鼠标,几乎任何人都可以创建功能强大的企业应用程序,实现业务流程自动化。企业创建的应用程序可以部署在移动,平板电脑和Web上,创建的应用程序可以很简单,也可以非常复杂,并且可以连接到几乎任何数据源。PAAS平台采用对象......
  • Django Form源码分析(2)
    1前置知识点1.1render函数 可以看到render函数先拿到模板,再进行模板渲染那么form函数是如何自动生成表单里的input标签呢,应该是在form里已经渲染好一遍生成了input标签放进了{"form":form}的集合render函数再进行渲染2Form函数2.1Form源码分析2.1.1Form初始化......
  • app直播源码平台开发防护技术鉴权功能的部署
    我们在生活中,常常会遇到身份验证的事情,我们每个人也会有证明身份的各种工具,就比如:在考试中我们会使用准考证进行身份验证;在乘坐高铁、飞机时,我们会用身份证或是高铁票、机票证明我们的身份。这也是为了防止有些人去顶替、冒充别人的身份去占有别人的权益的事情,也防止一些不法分子去......
  • 推荐带500创作模型的付费创作V2.1.0独立版系统源码
    ChatGPT付费创作系统V2.1.0提供最新的对应版本小程序端,上一版本增加了PC端绘画功能,绘画功能采用其他绘画接口–意间AI,本版新增了百度文心一言接口。后台一些小细节的优化及一些小BUG的处理,前端进行了些小细节优化,针对上几版大家非常关心的卡密兑换H5端及小程序端......
  • app直播源码平台开发防护技术鉴权功能的部署
     我们在生活中,常常会遇到身份验证的事情,我们每个人也会有证明身份的各种工具,就比如:在考试中我们会使用准考证进行身份验证;在乘坐高铁、飞机时,我们会用身份证或是高铁票、机票证明我们的身份。这也是为了防止有些人去顶替、冒充别人的身份去占有别人的权益的事情,也防止一些不法分......
  • MyBatis中的association与collection应用
    MyBatis中的association与collection应用在使用MyBatis进行数据库操作时,经常会遇到需要处理对象之间的关联关系和集合映射的情况。为了更好地实现对象关系映射,MyBatis提供了association和collection两个核心功能,让我们可以更便捷地处理复杂的数据结构。本文将详......
  • centos7.9 ftp 搭建
    脚本使用介绍:执行脚本根据提示输入ftp密码即可默认目录/data/ftp,如需更改修改脚本第三行:ftp_dir='/data/ftp' 将/data/ftp替换默认用户名ftpuser如需更改,修改脚本第四行部署完成配置文件默认设置为只能ftp用户访问ftp服务,只允许访问ftp目录不能访问其他路径。需要......
  • kernel源码(二十四)文件系统
     1minix文件系统minix文件系统磁盘结构如下所示图中,整个磁盘被划分为360个磁盘块(每个磁盘块1Kb)引导块,MBR就在这个磁盘块中。当计算机加电,ROMBIOS将会自动读取该磁盘块到内存并执行其中的代码。分区,一块磁盘,我们可以最多有4个主分区。MBR大小为一个扇区大小,其中446byte......
  • 推荐短视频流量掘金付费进群系统源码-私域变现工具
    视频流量掘金付费进群系统源码ThinkPHP框架开发,百分百可搭建!近期爆火的流量掘金,自动化成交进群系统项目详细拆解,演示地址:runruncode.com/thinkphp/19493.html 不知道大家有没有听过,半自动挂机、流量掘金、流量变现、9.9自动进群系统等相关关键词的项目。 最近这套玩法非......