1.单元测试环境准备

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

2.测试

3.结果返回

4.代码

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

查:

  1. statement.executeQuery

增删改:

int  executeUpdate

  1. statement.executeUpdate(sql)
  1.  
  1. package CURD_junit单元测试_增删改查.test;
  2.  
  3. import CURD_junit单元测试_增删改查.JDBCUtil;
  4. import org.junit.Test;
  5.  
  6. import java.sql.Connection;
  7. import java.sql.ResultSet;
  8. import java.sql.Statement;
  9.  
  10. /**
  11. * 使用junit执行单元测试
  12. */
  13. public class TestDemo {
  14.  
  15. @Test
  16. public void testQuery() {
  17. Connection conn = null;
  18. Statement statement = null;
  19. ResultSet resultSet = null;
  20.  
  21. try {
  22. //1.创建连接
  23. conn = JDBCUtil.getConn();
  24. //2. 根据连接对象,得到statement操作数据库
  25. statement = conn.createStatement();
  26.  
  27. //3. 执行sql语句,返回ResultSet
  28. String sql = "select * from users";
  29. resultSet = statement.executeQuery(sql);
  30.  
  31. //遍历结果
  32. while (resultSet.next()) {
  33. int id = resultSet.getInt("id");
  34. String name = resultSet.getString("name");
  35. int age = resultSet.getInt("age");
  36. System.out.println(id+"---"+name +"---"+ age);
  37. }
  38. } catch (Exception e) {
  39. e.printStackTrace();
  40. }finally {
  41. //释放资源
  42. JDBCUtil.closeRelease(conn,statement,resultSet);
  43. }
  44. }
  45.  
  46. @Test
  47. public void testInsert() {
  48. Connection conn = null;
  49. Statement statement = null;
  50.  
  51. try {
  52. //1.创建连接
  53. conn = JDBCUtil.getConn();
  54. //2. 根据连接对象,得到statement操作数据库
  55. statement = conn.createStatement();
  56.  
  57. //3. 执行sql语句,返回ResultSet
  58. String sql = "insert into users(name,age) values('小王',22)";
  59. int resultSet = statement.executeUpdate(sql);
  60.  
  61. //4.执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
  62. //影响的行数, ,如果大于0 表明操作成功。 否则失败
  63. if(resultSet > 0) {
  64. System.out.println("执行成功!");
  65. }else {
  66. System.out.println("执行失败");
  67. }
  68.  
  69. } catch (Exception e) {
  70. e.printStackTrace();
  71. }finally {
  72. //释放资源
  73. JDBCUtil.closeRelease(conn,statement);
  74. }
  75. }
  76.  
  77. @Test
  78. public void testUpdate() {
  79. Connection conn = null;
  80. Statement statement = null;
  81.  
  82. try {
  83. //1.创建连接
  84. conn = JDBCUtil.getConn();
  85. //2. 根据连接对象,得到statement操作数据库
  86. statement = conn.createStatement();
  87.  
  88. //3. 执行sql语句,返回ResultSet
  89. String sql = "update users set age = 12 where name = '小王'";
  90. int resultSet = statement.executeUpdate(sql);
  91.  
  92. //4.执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
  93. //影响的行数, ,如果大于0 表明操作成功。 否则失败
  94. if(resultSet > 0) {
  95. System.out.println("执行成功!");
  96. }else {
  97. System.out.println("执行失败");
  98. }
  99.  
  100. } catch (Exception e) {
  101. e.printStackTrace();
  102. }finally {
  103. //释放资源
  104. JDBCUtil.closeRelease(conn,statement);
  105. }
  106. }
  107.  
  108. @Test
  109. public void testDelete() {
  110. Connection conn = null;
  111. Statement statement = null;
  112.  
  113. try {
  114. //1.创建连接
  115. conn = JDBCUtil.getConn();
  116. //2. 根据连接对象,得到statement操作数据库
  117. statement = conn.createStatement();
  118.  
  119. //3. 执行sql语句,返回ResultSet
  120. String sql = "delete from users where name = '小明' and id = 1";
  121. int resultSet = statement.executeUpdate(sql);
  122.  
  123. //4.执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
  124. //影响的行数, ,如果大于0 表明操作成功。 否则失败
  125. if(resultSet > 0) {
  126. System.out.println("执行成功!");
  127. }else {
  128. System.out.println("执行失败");
  129. }
  130.  
  131. } catch (Exception e) {
  132. e.printStackTrace();
  133. }finally {
  134. //释放资源
  135. JDBCUtil.closeRelease(conn,statement);
  136. }
  137. }
  138. }

理解:

中阶d03.3 JDBC_CURD_Util --- 使用 junit执行单元测试(增删改查)的更多相关文章

  1. 在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查

    一.首先先创建一个C#的控制台应用 二.然后添加上必要的命名空间 using System;using System.Collections.Generic;using MySql.Data.MySq ...

  2. SpringBoot+MyBatis中自动根据@Table注解和@Column注解生成增删改查逻辑

    习惯使用jpa操作对象的方式,现在用mybatis有点不习惯. 其实是懒得写SQL,增删改查那么简单的事情你帮我做了呗,mybatis:NO. 没办法,自己搞喽! 这里主要是实现了通过代码自动生成my ...

  3. magento中Model创建以及该Model对于数据库的增删改查

    本文是按照magento英文文档照做与翻译的. Model层的实现是mvc框架的一个巨大的部分.它代表了你的应用的数据,或者说大多数应用没有数据是无用的.Magento的Model扮演着一个重要的角色 ...

  4. 用Java中的File类模拟实现对系统文件的增删改查效果

    码字不易,三连支持一波吧 IO操作向来是各大语言的热区,而对文件的操作也是重中之重. 那么在Java中也给我们提供了很多关于文件操作的类.今天我就用一个比较基本的File类来模拟实现对文件的增删改查效 ...

  5. MFC中对基于ODBC对数据ACCESS数据库的增删改查。

    在MFC中可以使用很多方法对数据库进行操作. 什么ODBC  什么ADO之类的,这里要介绍使用的ODBC这种方法,通过本文的阅读可以达初步掌握在MFC里面通过ODBC访问ACCESS数据库. 涉及到的 ...

  6. django中判断当前user具有是否有对模块的增删改查权限

    首先简单了解一下user的一些属性 User对象 User对象是认证系统的核心.用户对象通常用来代表网站的用户,并支持例如访问控制.注册用户.关联创建者和内容等.在Django认证框架中只有一个用户类 ...

  7. Sql中常用的创建表 约束 主外键 增删改查的语句

    创建数据库 USE master; GO --日记数据库 create database DiaryBase on ( name=DiaryBase_Dat,--逻辑名称 FILENAME='c:\D ...

  8. JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理 附带:Navicat Premium 11.0.12中文破解版.zip(下载)mysql数据库工具

    先写一个工具类,有实现MySQL数据库连接的方法,和关闭数据库连接.关闭ResultSet  结果集.关闭PreparedStatement 的方法.代码如下: package com.swift; ...

  9. 中阶 d03.5 (正篇)完整的Dao 操作数据库

    1.目录结构: util---JDBCUtil.java(工具包,整合建立链接和释放资源的方法) dao---UserDao.java(接口,定义方法) impl---UserDaoImpl.java ...

随机推荐

  1. (转)协议森林07 傀儡 (UDP协议)

    协议森林07 傀儡 (UDP协议) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经讲解了物理层.连接层和网络层.最开始的 ...

  2. layui的弹出层的title的自定义html

       layui的弹出层的title的自定义html //在这里面输入任何合法的js语句 layer.open({ type: 1 //Page层类型 ,area: ['500px', '300px' ...

  3. C++:利用全局钩子实现键盘锁

    在家看网课,记笔记不方便.于是就想弄个键盘锁,方便学习(在寝室也好把外接键盘放上去打游戏). 其实这东西挺简单的,就三行代码. HHOOK hk; LRESULT CALLBACK kbproc(in ...

  4. Natas12 Writeup(文件上传漏洞)

    Natas12: 文件上传页面,源码如下: function genRandomString() { $length = 10; $characters = "0123456789abcde ...

  5. 大数据软件安装之HBase(NoSQL数据库)

    一.安装部署 1.Zookeeper正常部署 (见前篇博文大数据软件安装之ZooKeeper监控 ) [test@hadoop102 zookeeper-3.4.10]$ bin/zkServer.s ...

  6. Java高效编程:总结分享

    参考资料:慕课网:Java高效编程收费实战课程.博客园.CSDN.菜鸟教程以及其他文档. 篇幅受限,不太想针对每个点都写篇博客,有的地方可能写的不是很详细,一笔带过了.如果你觉得那个点在项目中用得上可 ...

  7. python爬取某站新闻,并分析最近新闻关键词

    在爬取某站时并做简单分析时,遇到如下问题和大家分享,避免犯错: 一丶网站的path为 /info/1013/13930.htm ,其中13930为不同新闻的 ID 值,但是这个数虽然为升序,但是没有任 ...

  8. 洛谷1514 引水入域 dp+记忆化搜索

    题目链接:https://www.luogu.com.cn/problem/P1514 题意大致是:给定一个(n,m)的数值矩阵,可以在第一行建造水库,如果一个格子周围的某格子值小于它,那水就可以流到 ...

  9. Chrome EC框架探索_0.0_引言

    0.0 引言 嵌入式硬件抽象框架常常面临着这样的尴尬:封装层次较高的(arduino,mbed)不能充分暴露必要的API并面临着性能问题,封装层次较低的(HAL,LL)接口复杂且开发困难.近日发现的一 ...

  10. TensorFlow 卷积神经网络手写数字识别数据集介绍

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 手写数字识别 接下来将会以 MNIST 数据集为例,使用卷积层和池 ...