zoukankan      html  css  js  c++  java
  • java 连接mysql

    目前还沉浸在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提高班班");
      }
    }

    ……

  • 相关阅读:
    使用npm安装一些包失败了的看过来(npm国内镜像介绍)
    利用JMX统计远程JAVA进程的CPU和Memory
    Spring Boot学习笔记
    django数据库时间存储格式问题
    解决 Ubuntu 无法调节屏幕亮度的问题(转)
    django models auto_now和auto_now_add的区别
    django redis操作
    接口测试的工具
    django中migration文件是干啥的
    mysql简单操作(实时更新)
  • 原文地址:https://www.cnblogs.com/helenMemery/p/8821079.html
Copyright © 2011-2022 走看看