目前还沉浸在java自动化测试中不能自拔!

自动化过程中免不了要从数据库取值与期望值比较,目前我项目刚开始就需要用到了。

下面我把操作过程写下来:

我的项目框架是java+maven+testNG,所以首先要在pom.xml中添加mysql-connector-java的依赖,如下所示:

<!-- 加入mysql支持 -->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>

然后写一个链接mysql的类,如下所示

/**
* @author Helen
* @date 2018年4月12日
*/
package common; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet; /**
* 描述:mysql数据库链接处理
*/
public class mySQL {
private static final String url = "jdbc:mysql://*****/**";/*jdbc:mysql://数据库IP/数据库名*/
private static final String user = "**";//数据库用户名
private static final String password = "**";//对应的用户密码 private Connection conn = null;
private PreparedStatement pst = null;
private ResultSet resultSet = null; public mySQL() {
try {
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
System.out.println("数据库连接失败!");
e.printStackTrace();
} } /* 执行SQL语句:查询并返回结果, 这是单结果返回,我们测试的时候就是根据条件查询,然后返回一个结果与期望结果比较即可,所以单结果足已*/
public String getData(String sql, String targetName) {
String result = null;
try { pst = conn.prepareStatement(sql);
resultSet = pst.executeQuery();
while (resultSet.next()) {
result = resultSet.getString(targetName);
}
this.close();
} catch (Exception e) {
System.out.println("执行查询语句失败");
e.printStackTrace();
}
return result;
} /* 关闭链接 */
private void close() {
try {
this.conn.close();
this.pst.close();
} catch (Exception e) {
System.out.println("关闭数据库连接失败!");
e.printStackTrace();
}
} }

下面在test调用mySQL执行查询操作,如下所示:

package myTest.mytest;

import static org.testng.Assert.assertEquals;
import org.testng.annotations.Test;
import common.mySQL; public class mysqlTest {
@Test
public void getDataFromMysql() {
mySQL mySQL = new mySQL();
String result = mySQL.getData("SELECT `name` from course where id=1","name");//查询语句
assertEquals(result, "PS提高班班");
}
}

……

java 连接mysql的更多相关文章

  1. java连接mysql

    Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,解压后得到jar库文件,然后在对应的项目中导入该库文件 ...

  2. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

  3. java 连接 MySQL

    java 连接 MySQL 1.准备工作 需要下载的工具: MySQL:http://www.mysql.com/downloads/ MySQL的可视化工具SQLyog:https://www.we ...

  4. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

  5. 转载:Java连接MySQL 数据库的正确操作流程

    转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html       以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...

  6. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  7. 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类

    一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...

  8. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  9. Java 连接 MySQL 数据库

    最近想学习一下 Java 连接 MySQL 数据库,于是有了这样的一些问题&解决办法. 首先是解决 JDBC(Java Data Base Connectivity)驱动问题,因为默认安装的J ...

  10. java连接mysql的过程

    今天突然心血来潮,想要用java连接mysql,记得以前是在vs2010的环境下用C#连接sql sever,其实他们的方法都差不多. 现在就可以简单的介绍下java如何连接mysql 第一步,设计m ...

随机推荐

  1. R语言-用户细分

    案例:通过使用R语言的聚类算法将用户进行合理的划分,找出对超市贡献度,光临度最高的优质客户,对后期的推广有更深远的影响 1.导入包 library(dplyr) library(reshape2) l ...

  2. getPropertyValue 获取CSS样式

    新学习一个js 的方法 getPropertyValue   (实现 js框架中  css 的最终调用的函数),取得元素最终计算出的css 样式 DEMO: <!DOCTYPE html> ...

  3. 排序算法Java实现(堆排序)

    算法描述:对于给定的n个记录,初始时把这些记录看作一棵顺序存储的二叉树,然后将其调整为一个大顶堆,然后将堆的最后一个元素与堆顶元素进行交换后,堆的最后一个元素即为最大记录:接着将前(n-1)个元素重新 ...

  4. angularJs模块ui-router之状态嵌套和视图嵌套

    原文地址:http://bubkoo.com/2014/01/01/angular/ui-router/guide/nested-states%20&%20nested-views/ 状态嵌套 ...

  5. ansible自动化运维

    ansible 系统架构 ansible简介 ansible是新出现的自动化运维工具,ansible是一个配置管理和应用部署工具,基于Python开发,集合了众多运维工具(puppet.cfengin ...

  6. swift 相关小随笔

    关键词 typealias 对已经存在的类重命名 let  修饰不可变值 var  修饰可变的值 lazy  懒加载修饰符,用到的时候才会加载 convenience 原方法的备用方法,方法一致,但是 ...

  7. Jquery瀑布流布局,jQuery Wookmark Load 示例

    瀑布流布局非常适合大量图片的展示,一改过去裁剪图片尺寸同意的排版,每张图片都能完全展示,并错落有致,让人眼前一亮. 注意事项:img元素的width和weight属性需要写,否则定位会不准确. 查看j ...

  8. 第2次作业:stream案例分析

    摘要:本次随笔是对stream软件进行一次案例分析,以个人观点分析stream为什么成功. 一.介绍产品相关信息 1.我选择的商品是stream 2.选择该产品的主要原因准要是因为自己本身喜欢玩这个平 ...

  9. 数字是否可以被3和5同时整除,use if and % (21.9.2017)

    #include <stdio.h> int main(){ int a; //a是所输入的数字 printf("输入数字: "); scanf("%d&qu ...

  10. RE:1054652545 - 论自己是如何蠢死的

    1.Java web 项目中 login/list 文件夹中return "login/list" 反复读取不到对应的jsp文件 一周后检查出来的原因上一级文件夹login前面多出 ...