中阶d03.3 JDBC_CURD_Util --- 使用 junit执行单元测试(增删改查)

1.单元测试环境准备

https://www.cnblogs.com/longesang/p/11399010.html

2.测试

3.结果返回

4.代码

 新建一个test目录统一存放测试案例

statement.executeQuery

增删改

int  executeUpdate

statement.executeUpdate(sql)


package CURD_junit单元测试_增删改查.test;

import CURD_junit单元测试_增删改查.JDBCUtil;
import org.junit.Test;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * 使用junit执行单元测试
 */
public class TestDemo {

   @Test
    public void testQuery() {
        Connection conn = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            //1.创建连接
            conn = JDBCUtil.getConn();
            //2. 根据连接对象,得到statement操作数据库
            statement = conn.createStatement();

            //3. 执行sql语句,返回ResultSet
            String sql = "select * from users";
            resultSet = statement.executeQuery(sql);

            //遍历结果
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                int age = resultSet.getInt("age");
                System.out.println(id+"---"+name +"---"+ age);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            //释放资源
            JDBCUtil.closeRelease(conn,statement,resultSet);
        }
    }

    @Test
    public void testInsert() {
        Connection conn = null;
        Statement statement = null;

        try {
            //1.创建连接
            conn = JDBCUtil.getConn();
            //2. 根据连接对象,得到statement操作数据库
            statement = conn.createStatement();

            //3. 执行sql语句,返回ResultSet
            String sql = "insert into users(name,age) values('小王',22)";
            int resultSet = statement.executeUpdate(sql);

            //4.执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
            //影响的行数, ,如果大于0 表明操作成功。 否则失败
            if(resultSet > 0) {
                System.out.println("执行成功!");
            }else {
                System.out.println("执行失败");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            //释放资源
            JDBCUtil.closeRelease(conn,statement);
        }
    }

    @Test
    public void testUpdate() {
        Connection conn = null;
        Statement statement = null;

        try {
            //1.创建连接
            conn = JDBCUtil.getConn();
            //2. 根据连接对象,得到statement操作数据库
            statement = conn.createStatement();

            //3. 执行sql语句,返回ResultSet
            String sql = "update users set age = 12 where name = '小王'";
            int resultSet = statement.executeUpdate(sql);

            //4.执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
            //影响的行数, ,如果大于0 表明操作成功。 否则失败
            if(resultSet > 0) {
                System.out.println("执行成功!");
            }else {
                System.out.println("执行失败");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            //释放资源
            JDBCUtil.closeRelease(conn,statement);
        }
    }

    @Test
    public void testDelete() {
        Connection conn = null;
        Statement statement = null;

        try {
            //1.创建连接
            conn = JDBCUtil.getConn();
            //2. 根据连接对象,得到statement操作数据库
            statement = conn.createStatement();

            //3. 执行sql语句,返回ResultSet
            String sql = "delete from users where name = '小明' and id = 1";
            int resultSet = statement.executeUpdate(sql);

            //4.执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
            //影响的行数, ,如果大于0 表明操作成功。 否则失败
            if(resultSet > 0) {
                System.out.println("执行成功!");
            }else {
                System.out.println("执行失败");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            //释放资源
            JDBCUtil.closeRelease(conn,statement);
        }
    }
}

理解:

原文地址:https://www.cnblogs.com/longesang/p/11399265.html