发表于: 2017-11-10 20:04:20

1 707


今天完成的事情:

(1)总结mybatis核心部分。

流程图如下:

MyBatis应用程序根据XML配置文件创建SqlSessionFactory,SqlSessionFactory在根据配置,配置来源于两个地方,一处是配置文件,一处是Java代码的注解,获取一个SqlSession。SqlSession包含了执行sql所需要的所有方法,可以通过SqlSession实例直接运行映射的sql语句,完成对数据的增删改查和事务提交等,用完之后关闭SqlSession。

config.xml中主要是数据库连接相关的内容,还有java类对应的别名,比如:

<typeAlias alias="Student" type = "com.lzy.domain.Student"/>

alias 需要和映射文件中的resultType一致。

<mapper resource="resources/sqlmapper/StudentMapper.xml"/>

是要映射的类的xml配置文件,即映射文件,在该文件中,主要是定义各种 SQL 语句,以及这些语句的参数,以及要返回的类型等等。之后是接口中写方法,写实现类。

public void selectStudent() throws IOException {
SqlSession sqlSession = getSession();
   Annotation ant = sqlSession.getMapper(Annotation.class);
   Student stu = ant.selectById(23);
   System.out.println(stu);
   sqlSession.close();

方法之一,sqlsession使用之后需要关闭。

(2)单元测试:juint。

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。比如可以测试一个类,或者一个类中的一个方法。关于测试:

1、它是一种验证行为。

程序中的每一项功能都是测试来验证它的正确性。它为以后的开发提供支援。就算是开发后期,我们也可以轻松的增加功能或更改程序结构,而不用担心这个过程中会破坏重要的东西。而且它为代码的重构提供了保障。这样,我们就可以更自由的对程序进行改进。

2、它是一种设计行为。

编写单元测试将使我们从调用者观察、思考。特别是先写测试(test-first),迫使我们把程序设计成易于调用和可测试的,即迫使我们解除软件中的耦合。

3、它是一种编写文档的行为。

单元测试是一种无价的文档,它是展示函数或类如何使用的最佳文档。这份文档是可编译、可运行的,并且它保持最新,永远与代码同步。

4、它具有回归性。

自动化的单元测试避免了代码出现回归,编写完成之后,可以随时随地的快速运行测试。

 注解:

@Test :该注释表示,用其附着的公共无效方法(即用public修饰的void类型的方法 )可以作为一个测试用例;

@Before :该注释表示,用其附着的方法必须在类中的每个测试之前执行,以便执行测试某些必要的先决条件;

@BeforeClass :该注释表示,用其附着的静态方法必须执行一次并在类的所有测试之前,发生这种情况时一般是测试计算共享配置方法,如连接到数据库;

@After :该注释表示,用其附着的方法在执行每项测试后执行,如执行每一个测试后重置某些变量,删除临时变量等;

@AfterClass :该注释表示,当需要执行所有的测试在JUnit测试用例类后执行,AfterClass注解可以使用以清理建立方法,如断开数据库连接,注意:附有此批注(类似于BeforeClass)的方法必须定义为静态;

@Ignore :该注释表示,当想暂时禁用特定的测试执行可以使用忽略注释,每个被注解为@Ignore的方法将不被执行。

明天的计划:juint写实例试试,准备小课堂,学testNG。

遇到的问题:测试类影响了我对mybatis实现类本来模样的判断。

收获:对mybatis进一步了解。

禅道:http://task.ptteng.com/zentao/task-view-10689.html


返回列表 返回列表
评论

    分享到