发表于: 2016-07-30 21:54:45
0 2413
今天完成的事情
1, 今天上午温习了一些基数内容,关于try-catch-finally的一些些异常细节。什么是异常?--把问题封装成对象。
try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 }
catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 }
finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally }
2,又重温了一下单元测试的细节--junit4.扩展了一下常识。http://blog.csdn.net/andycpp/article/details/1329218
如果有一个类是负责对大文件(超过 500 兆)进行读写,他的每一个方法都是对文件进行操作。在调用每一个方法之前,我们都要打开一个大文件并读入文件内容,这绝对是一个非常耗费时间的操作。如果我们使用 @Before 和 @After ,那么每次测试都要读取一次文件,效率及其低下。这里我们所希望的是在所有测试一开始读一次文件,所有测试结束之后释放文件,而不是每次测试都读文件。 JUnit 的作者显然也考虑到了这个问题,它给出了 @BeforeClass 和@AfterClass 两个 Fixture 来帮我们实现这个功能。从名字上就可以看出,用这两个Fixture 标注的函数,只在测试用例初始化时执行 @BeforeClass 方法,当所有测试执行完毕之后,执行 @AfterClass 进行收尾工作。在这里要注意一下,每个测试类只能有一个方法被标注为 @BeforeClass 或 @AfterClass ,并且该方法必须是 Public 和Static 的。
3,重新梳理了一下mybatis,关于前面一些配置文件等等略过,编写用户查询系统(增、删、该基本相同)的步骤:
第一步:根据mytais的配置创建SqlSessionFactory
第二步:根据SqlSessionFactory创建SqlSession
第三步:通过SqlSession操作数据库(根据用户id查询一条记录)
------selectOne,查询单条记录
------selectList,查询集合
第四步:遍历查询结果
第五步:SqlSession关闭
4,Mybatis解决jdbc编程的问题
1、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。
2、Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。
解决:将Sql语句配置在XXXXmapper.xml文件中与java代码分离。
3、向sql语句传参数麻烦,因为sql语句的where条件不一定,可能多也可能少,占位符需要和参数一一对应。
解决:Mybatis自动将java对象映射至sql语句,通过statement中的parameterType定义输入参数的类型。
4、对结果集解析麻烦,sql变化导致解析代码变化且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。
解决:Mybatis自动将sql执行结果映射至java对象,通过statement中的resultType定义输出结果的类型。
明天计划的事情:明天继续整理mybatis,以及mybatis和spring-mvc
遇到的问题:编写用户查询系统的过程,在编译的时候怎么也找不到SqlMapCongfig.xml文件,报下图的错误,而且长时间总也找不到是什么原因,后来在丁杰师兄的大力帮助下才终于揭开谜团,原因是把SqlMapCongfig.xml放在普通的文件夹下面,导致找不到此文件,建在下面的文件夹下问题就解决了。在此表示一下感谢!!!
收获:今天主要是总结了一下以前的内容,发现比以前对于一些感觉熟悉的东西,又加深了认识和理解,所以在学新东西的时候,别忘了不断的总结和完善!
评论