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

    ……

  • 相关阅读:
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    软件工程实践总结
  • 原文地址:https://www.cnblogs.com/helenMemery/p/8821079.html
Copyright © 2011-2022 走看看