我们可以使用Junit对数据库操作关键代码进行单元测试。
步骤:
- 定义一个类,TestXXX,里面定义方法 testXxx。
- 添加Junit的支持。
右键工程名 — add Library — Junit — Junit4 - 在方法上面加注解
@Test
,其实就是一个标记。@Test public void testQuery() { ...... }
- 光标选中方法名字,然后右键执行单元测试,run as — Junit test 。
或者打开outline视图,然后右键方法,右键同样的方式执行。
代码示例:
- query
// 1. 获取连接对象 onn = JDBCUtil.getConn(); // 2. 根据连接对象,得到statement st = conn.createStatement(); // 3. 执行SQL语句,得到结果集 String sql = "SELECT * FROM employee;"; rs = st.executeQuery(sql); // 4. 遍历结果集 while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println(name + " is " + age + "."); }
- insert
// 1. 获取连接对象 conn = JDBCUtil.getConn(); // 2. 根据连接对象,得到statement st = conn.createStatement(); // 3. 执行添加语句 String sql = "insert into employee values(null,'abama',59)"; // 影响的行数,如果大于0,表明操作成功,否则失败。 int result = st.executeUpdate(sql); if (result > 0) { System.out.println("添加成功!"); } else { System.out.println("添加失败"); }
- delete
// 1. 获取连接对象 conn = JDBCUtil.getConn(); // 2. 根据连接对象,得到statement st = conn.createStatement(); // 3. 执行删除语句 String sql = "delete from employee where name='abama'"; // 影响的行数,如果大于0,表明操作成功,否则失败。 int result = st.executeUpdate(sql); if (result > 0) { System.out.println("删除成功!"); } else { System.out.println("删除失败!"); }
- update
// 1. 获取连接对象 conn = JDBCUtil.getConn(); // 2. 根据连接对象,得到statement st = conn.createStatement(); // 3. 执行更新语句 String sql = "update employee set age = 55 where name = 'veeja'"; //影响的行数,如果大于0,表明操作成功,否则失败。 int result = st.executeUpdate(sql); if(result>0) { System.out.println("更新成功!"); }else { System.out.println("更新失败!"); }
另外
释放资源方法的定义:
public static void release(Connection conn, Statement st, ResultSet rs) {
closeRs(rs);
closeSt(st);
closeConn(conn);
}
在上面的增删改三个操作中,是不需要用到结果集对象的,但是释放资源的方法需要三个参数,所以我们可以做一些小小的改动。
第一种办法是,调用方法时对参数进行修改,在调用方法的时候,我们改为:
JDBCUtil.release(conn, st, null); //调用空参数
或者
JDBCUtil.release(conn, st, new ResultSet()); //new一个ResultSet对象
第二种办法就是,函数的重载,
public static void release(Connection conn, Statement st) {
closeSt(st);
closeConn(conn);
}
end