发表于: 2016-07-24 19:59:39
0 2427
今天完成的事情:今天主要改良了一下昨天的代码,了解到注册驱动的三种方式:从网上看到的,自己记录一下,同时也分享一下
1.DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。
具体来说就是: 加载的时候注册一次驱动(原因请看第三中注册方式),实例化的时候又注册一次。所以两次。 由于实例化了com.mysql.jdbc.Driver.class,导致必须导入该类(就是要把这个类import进去),从而具体驱动产生了依赖。不方便扩展代码。
2.System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");
通过系统的属性设置注册驱动,如果要注册多个驱动,则System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver:com.oracle.jdbc.Driver");
虽然不会对具体的驱动类产生依赖;但注册不太方便,所以很少使用。
3.Class.forName("com.mysql.jdbc.Driver");( 关于这句代码的进一步理解请参看另一篇文章《从Class.forName()到类的装载机制》)
推荐这种方式,不会对具体的驱动类产生依赖(就是不用import package了)。
其实这个只是把com.mysql.jdbc.Driver.class这个类装载进去,但是关键就在于,在
这个类中,有个静态块,如下:
static{
try{
java.sql.DriverManager.registerDriver(new Driver());
}catch(SQLException e){
throw new RuntimeException("can't register driver!");
}
今天也学习了junit的测试方法,其实很简单。传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个程序,
在该程序中调用你需要测试的方法,并且仔细观察运行结果,看看是否有错。正因为如此麻烦,所以程序员们编写单元
测试的热情不是很高。于是有一个牛人推出了单元测试包,大大简化了进行单元测试所要做的工作,这就是JUnit4。
在网上搜了多篇的帖子以及大神们的分享,最后挑选出最精简的一篇,对于刚入门的人来说,很容易搞懂。
http://blog.csdn.net/andycpp/article/details/1327147/
明天计划的事情:明天进一步学习mybatis,这才是任务1的重点之一。
遇到的问题:感觉有些概念的东西还是有些迷糊,尽管总体代码跑下来了,但是还有很多欠缺的东西。
有些代码为什么要这么写还有一些不清楚,但是自信心是爆棚的。
收获:今天通过jdbc了解到代码的可扩展性是必须的,也是非常重要的。
评论