河北建筑工程信息网站seo服务商技术好的公司
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、有兴趣的可以关注一手。
前提
研究源码、对我们的技术提高还是很有帮助的。简单的源码建议从mybatis入手。涉及到的设计模式不是很多。需要下载mybatis的源码和父工程依赖。注意下载的mybatis中的父工程依赖版本要对应。这里下载较稳定的版本。mybatis-3.5.3
。对应的父版本是31。
mybatis-3.5.3
下载地址:github地址
mybatis-parent
下载地址:github下载地址
如果访问github比较慢、评论区置顶我给出了下载好的项目源码地址链接。
搭建环境
1、首先创建一个Maven项目
具体创建过程略
2、导入源码
打开项目结构、或者按快捷键:Ctrl + Alt + Shift + S
选择Modules --》 点击 + 号 --》选择 import Module --》 选择下载的源码
将下载的源码导入
选择后,弹出一个对话框、选择 Maven 后点击 finish
将下载的两个源码都导入
将两个源码导入后的项目结构
3、在创建的Maven项目中,添加代码
自己创建一个数据库、编写几个查询语句、没啥好说的。这里简略
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 {@Testpublic 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);}}@Testpublic 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、项目启动效果
可能遇到的问题
出现的问题、一般都是由于依赖导致。下载对应的依赖就可以了。
在自己创建的maven工程下的pom中添加如下依赖
<dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.24.1-GA</version></dependency>
是不是xml文件没有编译、如果是,就在自己的pom文件中添加下方代码。
添加
<build><!-- 加载配置文件 --><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources></build>
后语
如果你嫌弃麻烦、不想自己搭建这个环境。我这里将搭建好的环境已经打包好,地址链接在评论区置顶。你直接拿来运行、研究代码就可以了。个人建议还是搭建一下环境比较好。也能学到蛮多。
项目链接我放到评论区置顶了