MyBatis从入门到精通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.5 编写测试代码让MyBatis跑起来

首先在 src/test/java 中创建 tk.mybatis.simple.mapper 包,然后创建 CountryMapperTest测试类,代码如下。

对上面这段代码做一个简单的说明,具体如下。

· 通过Resources工具类将mybatis-config.xml配置文件读入Reader。

· 再通过SqlSessionFactoryBuilder建造类使用Reader创建SqlSessionFactory工厂对象。在创建SqlSessionFactory对象的过程中,首先解析mybatis-config.xml配置文件,读取配置文件中的mappers配置后会读取全部的Mapper.xml进行具体方法的解析,在这些解析完成后,SqlSessionFactory就包含了所有的属性配置和执行SQL的信息。

· 使用时通过SqlSessionFactory工厂对象获取一个SqlSession。

· 通过SqlSession的selectList方法查找到CountryMapper.xml中id="selectAll"的方法,执行SQL查询。

· MyBatis底层使用JDBC执行SQL,获得查询结果集ResultSet后,根据resultType的配置将结果映射为Country类型的集合,返回查询结果。

· 这样就得到了最后的查询结果countryList,简单将结果输出到控制台。

· 最后一定不要忘记关闭 SqlSession,否则会因为连接没有关闭导致数据库连接数过多,造成系统崩溃。

上面的测试代码成功执行后,会输出如下日志。

从日志中可以看到完整的SQL输出和结果输出,从日志对应的级别可以发现SQL、参数、结果数都是DEBUG级别,具体的查询结果列和数据都是TRACE级别。

通过一系列的操作,我们让一个简单的 MyBatis 例子跑了起来,相信大家现在对 MyBatis已经有了初步的了解。

提示!

simple项目下载地址:http://mybatis.tk/book/simple-start.zip。

在学习这部分代码时,如果程序无法运行,或者不知道这些配置和测试类该写到哪里,都可以从该网址下载这部分的完整代码,通过对比来解决问题,或者直接使用这部分基础代码来继续学习接下来的内容。