声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
JDBC综合例题
这个综合例题主要就是使用JDBC的方式来对数据库表格进行增、删、查、改操作,其中还要逐个对这些方法进行测试,所以还要编写测试用例。编写这个例题主要意义是练习和进一步熟悉JDBC对数据库表格进行增、删、查、改操作的方式,巩固JDBC这个知识点。
这个例题里要用到的技术有:Maven、DBUnit、C3P0连接池、Log4j、MySQL数据库。
1.先准备一个干净的数据库和两个表格,并且给这两个表格构建关联关系:
2.创建Maven工程,并配置好所有的依赖包:
配置好依赖包:
3.在源码文件夹和测试源码文件夹里创建好相应的包(package),以便分类,免得所有类都挤在一起显得乱糟糟的:
源码文件夹下的包:
c3p0manager 这个包是用来放连接对象管理类的
org.zero01.iuds 这个包是用来放封装类和功能类的
exception 这个包是用来放自定义异常类的
测试源码文件夹下的包:
org.zero01.test 这个包是用来放测试用例类的
4.在c3p0manager 包下创建一个类,这个类用于通过C3P0连接池获得数据库连接对象,并且这个类是单例模式:
代码示例:
5.编写两个表格的数据封装类:
Cls代码示例:
Student代码示例:
6.编写对Cls表格操作的功能类:
7.编写对Student表格操作的功能类:
8.在测试源码文件夹下的org.zero01.test包里编写测试类,对两个功能类的方法逐个进行测试:
测试结果:
测试覆盖率:
日志信息的打印:
提示:我这是已经完成的代码,但是各位在实际编写代码的时候,最好是写一个方法就测试一下,不要全部功能代码写完再写测试用例测试,因为那样一旦出问题了,很多地方的代码都要进行修改,如果写一个方法就测一个方法的话,就只需要针对一个方法进行修改,而其他方法不需要变动,这样效率高一些并且修改代码也轻松些,不用到处修修改改弄得眼花缭乱。
我在编写C3P0Manager类的时候,犯了一个逻辑上的小错误,在这里记录一下这个错误,出现这个错误是因为我把构建对象的属性声明在了C3P0数据源类变量的前面,在构造器外调用getConnection方法的时候就会抛出空指针异常:
图解:
正确的声明方式:
相关推荐
掌握本书各章重要知识点 本讲内容考试介绍 -题型、分值 各章相关知识点,重点和难点回顾 相应例题讲解 题型选择题(15*1’) 填空题(15*2’) 名词解释(5*2’) 简答题(5*5’) 综合设计题(2*10’) 第一章 Java...
最后,"例题13 综合应用设计"可能是对前面所有主题的综合运用,要求学习者解决一个实际的问题或者设计一个小型项目,以检验他们对Java的整体理解和应用能力。 通过这些例题,学习者不仅可以深入理解Java的各项核心...
例如,在数据库连接部分,学习者可以通过源码学习如何使用JDBC连接和操作数据库,实现数据的增删改查等操作;在图形用户界面设计方面,则可以从源码中了解到如何使用Swing或JavaFX等库来创建用户友好的界面。通过...
全书通过丰富的例题和详细解释,深入浅出地介绍了JSP的基础知识和关键应用,包括JSP语法、内置对象、Javabean、文件操作、数据库操作、JavaServlet、MVC设计模式以及XML在JSP中的使用。 首先,书中第一章介绍了JSP...
笔记可能包含了当天课程的重点内容、关键知识点和例题解析,而源码则是与之相关的实践代码,学员可以通过阅读和运行源码加深对课程的理解。 根据以上信息,我们可以预期这个Java教程将涵盖以下核心知识点: 1. **...
1. **实例应用**:系统在开发过程中参考了《Java2 使用教程》中的多个实例,例如第10章的例题10.12,第11章的例题11.8,以及第15章的所有例题,这些实例可能涉及GUI界面构建、事件处理和数据库操作等内容。...