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

    ……

  • 相关阅读:
    gulp4.0 存在的错误信息 The following tasks did not complete: default,Did you forget to signal async completion?
    高性能前端 art-template 模板
    cookie 详解
    Cross origin requests are only supported for protocol schemes: http, data, chrome,chrome-extension的问题
    jQuery EasyUI 详解
    我的游戏学习日志1——恐龙快打
    我的游戏学习日志2——雪人兄弟
    关于网页导航栏制作的几种方法与常见问题解决(新人向)
    JavaScript基础
    利用CSS3制作网页动画
  • 原文地址:https://www.cnblogs.com/helenMemery/p/8821079.html
Copyright © 2020-2023  润新知