`
xurichusheng
  • 浏览: 341692 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JDBC公共操作方法(七):测试

 
阅读更多

 

使用junit 4 测试。

 

TestJDBCCore

 

 

import java.sql.Types;

import org.junit.Test;

public class TestJDBCCore {

	@Test
	public void queryById() {
		String sql = "select empno,ename from emp where empno=?";
		String[] params = new String[] { "7369" };
		String[][] result = JDBCCore.getInstance().query(sql, params);

		if (null != result) {
			String empno = result[0][0];
			String ename = result[0][1];
			System.out.println(empno + "\t" + ename);
		}
	}

	@Test
	public void queryAll() {
		String sql = "select empno,ename from emp order by empno";
		String[][] result = JDBCCore.getInstance().query(sql, null);

		if (null != result) {

			String empno = null, ename = null;

			for (int i = 0; i < result.length; i++) {
				empno = result[i][0];
				ename = result[i][1];
				System.out.print(empno + "\t" + ename + "\n");
			}
		}
	}

	@Test
	public void queryByName() {
		String sql = "select empno,ename from emp where ename=?";
		String[] params = new String[] { "test_add" };
		String[][] result = JDBCCore.getInstance().query(sql, params);

		if (null != result) {

			int resultLength = result.length;

			if (resultLength == 1) {
				String empno = result[0][0];
				String ename = result[0][1];
				System.out.println(empno + "\t" + ename);
			} else if (resultLength > 1) {

				String empno = null, ename = null;

				for (int i = 0; i < result.length; i++) {
					empno = result[i][0];
					ename = result[i][1];
					System.out.print(empno + "\t" + ename + "\n");
				}
			}
		}
	}

	@Test
	public void insert() {
		String sql = "insert into emp(empno,ename) values(?,?)";
		String[] params = new String[] { "2", "emp_2" };
		int rows = JDBCCore.getInstance().operate(sql, params);
		System.out.println(rows);
	}

	@Test
	public void update() {
		String sql = "update emp set ename=? where empno=?";
		String[] params = new String[] { "2_emp", "2" };
		int rows = JDBCCore.getInstance().operate(sql, params);
		System.out.println(rows);
	}

	@Test
	public void delete() {
		String sql = "delete from emp where empno=?";
		String[] params = new String[] { "2" };
		int rows = JDBCCore.getInstance().operate(sql, params);
		System.out.println(rows);
	}

	@Test
	public void callProcedure() {
		String sql = "{call P_ADD_EMP(?,?,?,?,?,?,?,?,?)}";
		String[][] params = new String[][] { { "in", "1" }, { "IN", "emp_1" },
				{ "IN", null }, { "IN", null }, { "IN", null }, { "IN", null },
				{ "IN", null }, { "IN", "30" },
				{ "out", String.valueOf(Types.INTEGER) } };

		String[] result = JDBCCore.getInstance().callProcedure(sql, params);

		if (null == result || 1 > result.length) {
			System.out.println("call Procedure faile.");
			return;
		}
		int res = -1;

		try {
			res = Integer.valueOf(result[0]);
		} catch (NumberFormatException e) {
			res = -11;
		}
		if (-1 == res) {
			System.out.println("the empno you want to add can not be null");
		} else if (1 == res) {
			System.out.println("the empno you want to add has existed");
		} else if (2 == res) {
			System.out.println("the deptno you want to add does not exist");
		} else if (3 == res) {
			System.out.println("occur exception.");
		} else if(0 == res) {
			System.out.println("insert success");
		} else {
			System.out.println("insert faile");
		}
	}
}
分享到:
评论

相关推荐

    JDBC_test_livraison:测试AFPA JDBC

    在这个测试案例中,开发者或学习者创建了一个名为"JDBC_test_livraison"的主程序,这可能包含了一系列的Java类和方法,用于执行常见的数据库操作,如连接、查询、插入、更新和删除数据。 JDBC的工作流程通常包括...

    JDBC连接myaql数据库.rar

    例如,它支持更高级的SQL语法,如窗口函数、JSON操作和CTE(公共表表达式)。此外,8.x版本还增强了性能,提升了安全性,比如使用SSL加密连接,并提供了更好的错误处理机制。 **JDBC连接MySQL的基本步骤**: 1. ...

    hive2.1.1 + hadoop2.6.0jdbc驱动

    3. **hadoop-common-2.6.0-cdh5.5.2.jar**:Hadoop的公共库,提供了Hadoop集群的基本功能,如文件系统操作和支持不同分布式计算模型的工具。 4. **httpclient-4.4.jar**:Apache HttpClient库,用于HTTP客户端通信,...

    JSP连接Oracle公共类!未测试!感觉可以用!

    虽然这个公共类尚未经过测试,但它提供了一套完整的数据库操作框架。在实际应用中,应该对每个方法进行详尽的测试,确保其稳定性和安全性。此外,考虑到现代Web开发的需求,建议使用更高级的ORM框架或连接池技术,以...

    CDH6.3.2的Hive JDBC驱动

    为了解决这个问题,用户探索并测试了一种不依赖standalone包的Hive JDBC驱动使用方式,确保这些驱动可以与Datart(一个数据可视化工具)兼容。 首先,我们来看看提供的压缩包子文件的文件名,这些都是Hive组件的...

    jdbc采用前后端分离的web项目

    在项目结构中,"jdbc"位于"util"软件包下,这表明项目团队已经将数据库相关的工具类或者数据库操作的实用方法封装在这个包中。通常,这样的设计是为了保持代码的整洁,将数据库访问逻辑与其他业务逻辑分开,便于维护...

    JSP+JDBC留言管理程序

    2. **代码复用**:当前实现中存在较多的代码重复,可以通过封装公共方法或使用框架来减少冗余代码。 3. **用户体验**:对于查询结果的高亮显示仅在前端实现,不会改变数据库中的原始数据。 #### 六、总结 通过这个...

    Java 测试题 (共四套)

    - 封装:使用访问修饰符保护数据,提供公共方法来操作私有成员。 - 多态性:了解抽象类、接口和实现多态的机制。 - 构造器与工厂方法:如何创建和初始化对象。 3. **集合框架**: - List、Set、Queue和Map接口...

    java实训报告.docx

    3. **JDBC操作数据库**: - **JDBC API**:Java连接数据库的标准接口,包括Connection、Statement、PreparedStatement和ResultSet等对象。 - **数据库操作**:连接数据库、执行SQL语句、获取结果集并处理数据。 4...

    JAVA公共资源模块的设计与开发(源代码+lw).rar

    7. **单元测试和持续集成**:为了确保公共资源模块的质量,单元测试和集成测试是必不可少的。JUnit是常用的单元测试框架,Mockito则可以帮助模拟依赖。持续集成工具如Jenkins或GitLab CI/CD可以帮助自动化构建和测试...

    SpringMVC+Spring+JDBC环境下的项目.7z

    在Spring框架中,我们可以使用Spring JDBC模块简化数据库操作,比如使用JdbcTemplate或NamedParameterJdbcTemplate,它们能自动处理SQL执行过程中的异常和资源关闭,使得代码更加简洁和易维护。 项目中包含的文件...

    springmvc相关jar包

    - `spring-jdbc.jar`:提供了与 JDBC 数据库访问的抽象层,简化数据库操作。 - `spring-orm.jar`:为流行 ORM 框架如 Hibernate、JPA 提供集成支持。 6. **Spring Test**: - `spring-test.jar`:提供测试支持,...

    java代码规范要求(公司用-补充版).pdf

    17. 代码测试:在提交前完成测试,确保不引发其他模块错误。 18. 配置文档:遵循规范格式,增加注释,提高配置可理解性。 19. JavaScript规范:遵循JS编码规范,添加注释,提高脚本可读性。 20. 参数验证:前端...

    每日测试:每日测试

    这个名为“每日测试:每日测试”的项目可能是一个用于Java开发者进行日常技能检验和学习的资源库。在这个dailytest-master压缩包中,我们可以期待找到一系列与Java编程相关的练习、示例代码或测试用例。 首先,Java...

    kettle7.1连接hive1所需jar

    在IT行业中,Kettle(Pentaho Data Integration)是一款强大的数据集成工具,它允许开发者进行数据抽取、转换和加载(ETL)操作。Hive,则是Apache开发的一个数据仓库工具,能够将结构化的数据文件映射为一张数据库...

    计算机毕业设计 JAVA公共资源模块的设计与开发(源代码+论文) 代码论文 范文 模板 资源 JAVA程序源码

    8. **测试**:学习单元测试和集成测试,使用JUnit或其他测试框架,确保公共资源模块的正确性和稳定性。 9. **文档编写**:论文部分需要详细阐述设计思路、实现方法、技术选型及遇到的问题和解决方案,这有助于提升...

    Java新手练习的小项目

    11. **JDBC数据库操作**:Java通过Java Database Connectivity (JDBC) API与数据库交互。学习如何连接数据库、执行SQL查询、处理结果集,是许多实际项目的基础。 12. **Swing或JavaFX图形用户界面**:如果你想创建...

Global site tag (gtag.js) - Google Analytics