javaWeb实战教程
2.5 junit单元测试
我们在平时做代码时,每完成一个方法都需要先测试再提交,在java中比较常用的一个测试方法就是使用junit。
首先在项目中加入junit的jar包:junit-4.7.jar
;将jar包复制到WEB-INF/lib目录下。
新建一个包专门存放测试类:cn.funsoftware.Lesson.test
,再新建一个类:Lesson6JunitTest
。
我们可以写一个公有方法,并在方法前加上注释@Test来把这个方法变成一个测试方法,如:
@Test
public void test1(){
System.out.println("测试方法1运行啦");
}
@Test
public void test2(){
System.out.println("测试方法2运行啦");
}
在方法上右击run as-junit test。
junit还提供了@Before
、@After
两个注解,使在运行测试方法前,会先运行@Before标记的方法,运行完测试方法后会运行@After标记的方法,且同时运行多个测试方法时,@Before
和@After
都会随每个方法执行多次。
@Before
public void before(){
System.out.println("@Before");
}
@Test
public void test1(){
System.out.println("测试方法1运行啦");
}
@Test
public void test2(){
System.out.println("测试方法2运行啦");
}
@After
public void after(){
System.out.println("@After");
}
junit还提供了@BeforeClass
、@AfterClass
两个注解,被注解标记的方法必须是静态static的,这两个方法分别会在所有测试方法运行前运行和所有方法运行完成后运行:
@BeforeClass
public static void beforeClass(){
System.out.println("@BeforeClass");
}
@Before
public void before(){
System.out.println("@Before");
}
@Test
public void test1(){
System.out.println("测试方法1运行啦");
}
@Test
public void test2(){
System.out.println("测试方法2运行啦");
}
@After
public void after(){
System.out.println("@After");
}
@AfterClass
public static void afterClass(){
System.out.println("@AfterClass");
}
在类上右击Run As-junit test
,得到结果:
@BeforeClass
@Before
测试方法1运行啦
@After
@Before
测试方法2运行啦
@After
@AfterClass
通过结果我们能看出@AfterClass
和@After
、@BeforeClass
和@Before
的区别。
2.6 jdbc连接数据库
在java中,连接数据库通常是jdbc组件,我们先把jdbc的jar包加入到项目中:mysql-connector-java-5.1.42-bin.jar
。
使用jdbc连接数据库通常情况下分为以下几个步骤:
- 加载jdbc驱动:
Class.forName("com.mysql.jdbc.Driver");
- 打开链接:
DriverManager.getConnection(数据库地址,用户名,密码);
- 执行查询:
PreparedStatement;
- 展开结果集:
ResultSet;
- 关闭连接:
close;
先在数据库里新建一张表:
CREATE TABLE `type` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`type` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;
再在项目中新建一个ja