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提高班班");
  }
}

 

 

 

……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM