目前还沉浸在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. [Tarjan 学习笔记](无向图)

    今天考试因为不会敲 Dcc 的板子导致没有AK(还不是你太菜了),所以特地写一篇博客记录 Tarjan 的各种算法 无向图的割点与桥 (各种定义跳过) 割边判定法则 无向边 (x,y) 是桥,当且仅当 ...

  2. http.request的请求

    var http=require('http'); var request=require('request'); var body = { "data":{ "id&q ...

  3. MySQL 中添加列、修改列以及删除列

    ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename to bbb; 添加列:); 删除列:alte ...

  4. Session 的原理及最佳实践

    Http协议是基于请求和响应的一种无状态的协议,而通过session可以使得Http应用变得有状态,即可以"记住"客户端的信息.今天就来说说这个session和cookie. Se ...

  5. STL --> queue单向队列

    queue单向队列 queue 模板类的定义在<queue>头文件中.与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器 ...

  6. DOM4j的修改删除方式

    ?xml version="1.0" encoding="UTF-8"?> <contactList> <contact id=&quo ...

  7. python全栈学习--day8

    一,文件操作基本流程. 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...

  8. Jquery($第一天)【历史】

    一.什么是jQueryjQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一整套定义好的方法.它的作者是John Resig,于2006年创建的一个开源项目,随着越来 ...

  9. [福大软工] W班 团队第一次作业—团队展示成绩公布

    作业地址 https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1715W/homework/906 作业要求 根据已经组队的队伍组成, 每 ...

  10. 团队项目7——团队冲刺(beta版本)

    beta版本冲刺计划安排:http://www.cnblogs.com/ricardoCYF/p/8018413.html 12.06:http://www.cnblogs.com/ricardoCY ...