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