zoukankan      html  css  js  c++  java
  • groovy TestRunnerInsertMysqlSingle

    package com.iteye.lindows.mysql
    
    import junit.framework.Assert
    import net.grinder.script.GTest
    import net.grinder.scriptengine.groovy.junit.GrinderRunner
    import net.grinder.scriptengine.groovy.junit.annotation.AfterThread
    import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess
    import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread
    import org.junit.Test
    import org.junit.runner.RunWith
    
    import java.sql.Connection
    import java.sql.DriverManager
    import java.sql.ResultSet
    import java.sql.Statement
    
    import static net.grinder.script.Grinder.grinder
    import static org.junit.Assert.assertTrue
    
    /**
     * java代码示例,连接数据库进行查询
     *
     * @author Lindows
     */
    @RunWith(GrinderRunner)
    class TestRunnerInsertMysqlSingle {
    	public static GTest insertTable
    	public static Connection conn;
    	public static Statement stmt; //创建Statement对象
    
    	@BeforeProcess
    	public static void beforeProcess() {
    		insertTable = new GTest(1, "插入表数据")
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			grinder.logger.info("成功加载MySQL驱动!");
    			String url="jdbc:mysql://10.37.136.162:3306/performance_test";    //JDBC的URL
    			String username = "performance_user";
    			String passwd = "performance!QAZ";
    			conn = DriverManager.getConnection(url, username, passwd);
    			stmt = conn.createStatement(); //创建Statement对象
    			grinder.logger.info("成功创建stmt!");
    		} catch (Exception e) {
    			e.printStackTrace()
    		}
    	}
    
    	@BeforeThread
    	public void beforeThread() {
    		insertTable.record(this, "insertTable")
    		grinder.statistics.delayReports=true
    	}
    
    	@Test
    	public void insertTable() {
    		try{
    			grinder.logger.info("成功连接到数据库!");
    			StringBuffer sql = new StringBuffer()
    			sql.append("insert into tab_002(column_int,column_double,column_decimal,column_varchar_name,column_varchar_address,column_text,column_timestamp_create_time,column_timestamp_update_time) values (1000,300.25,600.98,'jack','")
    					.append("China BeiJing")
    					.append(new Random().nextInt(99999999))
    					.append("', 'work in SuNing for 3 years','2017-06-12 18:00:00','2017-06-13 15:00:00')")
    			grinder.logger.info(sql.toString())
    			Thread.sleep(new Random().nextInt(10)) //这里可以设置思考时间10ms
    			assertTrue(!stmt.execute(sql.toString()))//执行sql insert,!stmt.execute(sql)该写法只于insert true确认
    			//assertTrue(stmt.execute(sql));//执行sql query , !stmt.execute(sql)该写法只适用于query true确认
    		}catch(Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	@AfterThread
    	public void afterThread() {
    		stmt.close();
    		conn.close();
    	}
    }
    

  • 相关阅读:
    在jsp页面如果运行时路径错误解决方法
    Maven实现ssm框架整合
    JS进阶(二)this指南——绑定了谁?
    防御性编程方法收集
    react将多个公共组件归成一类,方便调用
    初始化构建React+Ts项目时出现:Module build failed (from ./node_modules/css-loader/dist/cjs.js): CssSyntaxError
    Dva三种方式实现dispatch的Promise回调
    ES6多层解构
    ES6解构过程添加一个默认值和赋值一个新的值
    Antd-Pro2.0版本如何修改代理,让Mock变为真实服务器接口
  • 原文地址:https://www.cnblogs.com/lindows/p/14390202.html
Copyright © 2011-2022 走看看