发表于: 2018-04-01 21:50:56

2 509



day4



今天完成的事情:


1.通过 接口 + Mapper.xml 的形式实现操作数据库,也算是mybatis的一个特色吧


但要注意以下几点:


1).接口的方法名要和Mapper.xml 中对应标签的id保持一致

2).返回值类型 与 Mapper.xml文件中返回值类型(resultType)要一致,

3).方法的入参类型 与Mapper.xml中入参的类型(parameterType)要一致

4).命称空间namespace必须和Mapper接口类路径一致,以绑定此接口


思考:为什么使用Mybatis的时候注意理解为什么不需要Impl

大概是Mybatis使用了动态代理,生成了代理对象,而方法的实现都在Mapper.xml中

配置的差不多了,所以Mapper.xml就相当于是Dao的实现类了。


2.关于Junit


Junit 的几种注解:

  1.@Test: 测试方法  

                 测试方法必须使用public void 进行修饰,不能带任何的参数

    a)(expected=XXException.class)如果程序的异常和XXException.class一样,则测试通过

    b)(timeout=100)如果程序的执行能在100毫秒之内完成,则测试通过

  2.@Ignore: 被忽略的测试方法:加上之后,暂时不运行此段代码

  3.@Before: 每一个测试方法之前运行

  4.@After: 每一个测试方法之后运行

  5.@BeforeClass: 方法必须必须要是静态方法(static 声明),所有测试开始之前运行,注意区分before,是所有测试方法

  6.@AfterClass: 方法必须要是静态方法(static 声明),所有测试结束之后运行,注意区分 @After


2.@AfterClass和 @After 区别,以及@BeforeClass和@Before的区别

我们跑一段代码来看看,

先执行testAdd测试方法代码


得到此结果


我们在每个方法内部加入让它输出方法名的代码。


再执行所有测试方法,即执行整个类,得到如下

它们的区别是显然的,一个是每个方法运行都要随之运行,一个只在所有方法运行的前前后后运行。


小知识点:

1).Java 返回值为string时,想要使返回的String中间有换行:

只需要在要换行的地方加上转义字符“\n”即可实现换行。

如:String function(){    return "hello \n world"; // 返回“hello”换行“world”}

2).接口的方法的访问修饰符只能是public,不写public也是默认public的。是为了方便别的包的类实现。

下图中不写public也是可以的

3).在mybatis工具类中用到了ThreadLocal来存放和获取sqlSession,这里

有关于ThreadLocal的介绍:https://blog.csdn.net/qq_29227939/article/details/52029065


明天计划的事情:


Spring和Junit整合


遇到的问题:


暂无


收获:


以上


 

 




返回列表 返回列表
评论

    分享到