获取并导入Mybtis源码到Idea &&HSQLDB数据库简介

序言

Mybatis是我们常用的持久层框架。我们有必要掌握其源码(最好之前阅读过Spring源码,更加容易掌握Mybatis源码)。

获取Mybatis源码

地址:https://github.com/mybatis/mybatis-3
我们可以直接把源码下载到本地,也可以用git命令。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
拉取之后将这三个项目全部放在同一个目录下。
在这里插入图片描述

导入到IDEA中

在这里插入图片描述
然后挨个导入即可(过程比较简单,不必演示)。效果如图:
在这里插入图片描述
达到这种局面就行。

HSQLDB数据库简介

Mybatis中是采用HSQLDB的内存模式作为单元测试数据库。可以看一下。这玩意儿是纯纯的JAVA语言编写的数据库管理系统。

准备user.sql

drop table user if exists;
create table user (
id int generated by default as identity,
name varchar(50),
password varchar(50),
sex varchar(2),
create_time varchar(20),
primary key(id)
);

init.sql

insert into user(name ,password,sex,create_time)
values('zhangsan','123456','1','2022-08-28');
insert into user(name ,password,sex,create_time)
values('lisi','123456','0','2022-08-28');

引入依赖 hsqldb

     <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>1.8.0.10</version>
        </dependency>

写一个Test01测试一下(添加两个依赖,不然懒加载会报错)

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

public class Test01 {
	private Connection connection;
	
	@Before
	public void init(){
		try {
			System.out.println("开始初始化");
			Class.forName("org.hsqldb.jdbcDriver");
			connection = DriverManager.getConnection("jdbc:hsqldb:mem:mybatis","sa","");
			ScriptRunner runner = new ScriptRunner(connection);
			runner.setLogWriter(null);
			runner.runScript(Resources.getResourceAsReader("usr.sql"));
			runner.runScript(Resources.getResourceAsReader("init.sql"));
			System.out.println("初始化结束");
		}catch (Exception e){
			System.out.println("报错了!卧槽!");
		}
	}
	
	@Test
	public void testQuery(){
		if (connection == null){
			System.out.println("加载出错!");
			return;
		}
		SqlRunner sqlRunner = new SqlRunner(connection);
		try {
			List<Map<String, Object>> mapList = sqlRunner.selectAll("select * from user");
			mapList.forEach(System.out::println);
		}catch (Exception e){
			System.out.println("执行时候出错");
		}
	}
}

执行结果如下:

{PASSWORD=123456, SEX=1, ID=0, CREATE_TIME=2022-08-28, NAME=zhangsan}
{PASSWORD=123456, SEX=0, ID=1, CREATE_TIME=2022-08-28, NAME=lisi}

这样就完成了。
我们不需要引入其他数据库去调试源码了。

结语

先开个头。把Mybatis源码下载下来,后面针对源码深入解析。
作为程序员,源码是必需品。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值