发表于: 2016-08-15 14:13:58
0 2254
今天完成的事情:
1.编写测试类,利用junit对实现类(StudentsDAO.java)测试,并且测试通过,能查询和修改数据库的数据。
2.创建一个参数为sqlSessionFactory(会话工厂)的构造方法,在测试方法类的@Before下的setUp()方法里创建sqlSessionFactory(会话工厂),sqlSession作为局部变量在方法体内得到。说明:这里我原本是将sqlSession对象也放在setUp()方法里得到,初衷是为了减少代码的重复,后来有些资料上并没有这么做,原因是每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,它是线程不安全的,最好作为局部变量来使用。
3.完成mybatis框架中利用mapper代理的方法来开发mapper接口(相当于DAO接口),用来操作数据库。
4.添加spring的jar包,配置spring的核心配置文件applicationContext.xml,利用IOC(反转控制)得到实现类(StudentsDAO.java)的对象,来调用方法。
明天计划的事情:
1.将spring和mybatis整合,分析这么做的效果、好处
2.理解Service结构,会使用基本的注解,在什么场合使用。
问题:
1.我还没搞清楚Service和Impl的区别,难道service是接口,而Impl是实现类么(⊙︿⊙);而且感觉Service和DAO的关系也不太好理解,感觉代码都差不多啊,怎么区分,如果没有分别那就没必要存在两个一样的接口。看来我要走的路还很长啊( ̄。。 ̄)
收获:
1.mybatis的mapper代理方法只需要创建一个接口,它的实现过程由mybatis生成,不用我们自己编写;而原来的开发dao的方法除了DAO接口外,还要创建实现类(StudentsDAO.java).只是在mapper代理方法需要有开发的规范:
-->创建的映射文件中的namespace等于mapper接口(StudentsMapper.java)的地址。
-->在mapper接口(StudentsMapper.java)的方法名和映射文件中的id一样。
-->在mapper接口(StudentsMapper.java)的方法中的参数要和parameterType的类型一样
-->在mapper接口(StudentsMapper.java)的方法中的返回值类型要和resultType的类型一样
评论