当前位置:Gxlcms > 数据库问题 > TestRunnerInsertMysqlMore.groovy

TestRunnerInsertMysqlMore.groovy

时间:2021-07-01 10:21:17 帮助过:14人阅读

package com.iteye.lindows.mysql 2 3 import junit.framework.Assert 4 import net.grinder.script.GTest 5 import net.grinder.scriptengine.groovy.junit.GrinderRunner 6 import net.grinder.scriptengine.groovy.junit.annotation.AfterThread 7 import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess 8 import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread 9 import org.junit.Test 10 import org.junit.runner.RunWith 11 12 import java.sql.Connection 13 import java.sql.DriverManager 14 import java.sql.ResultSet 15 import java.sql.Statement 16 17 import static net.grinder.script.Grinder.grinder 18 import static org.junit.Assert.assertTrue 19 20 /** 21 * java代码示例,连接数据库进行插入 22 * 23 * @author 15071743(zhangl) 24 */ 25 @RunWith(GrinderRunner) 26 class TestRunnerInsertMysqlMore { 27 public static GTest insertTable 28 public static Connection conn; 29 public static Statement stmt; //创建Statement对象 30 public static List<String> databaseIP; //参数化文件多数据库IP 31 public static fileRowNumber; 32 @BeforeProcess 33 public static void beforeProcess() { 34 insertTable = new GTest(1, "插入表数据") 35 //参数化文件读取--随机数据库IP 36 databaseIP = new File("C:\\Users\\Lindows\\workspace\\GroovyTest\\src\\resources\\databaseIP.txt").readLines() 37 fileRowNumber = new Random().nextInt(databaseIP.size()-1) 38 } 39 40 @BeforeThread 41 public void beforeThread() { 42 insertTable.record(this, "insertTable") 43 grinder.statistics.delayReports=true 44 } 45 46 @Test 47 public void insertTable() { 48 try{ 49 //调用Class.forName()方法加载驱动程序 50 Class.forName("com.mysql.jdbc.Driver"); 51 grinder.logger.info("成功加载MySQL驱动!"); 52 StringBuffer url = new StringBuffer() 53 url.append("jdbc:mysql://") 54 .append(databaseIP.get(fileRowNumber).split(",")[0]) // 随机获取第一列数据库ip地址 55 .append(":3306/performance_test") 56 grinder.logger.info("tangxje_url: " + url.toString()); 57 String username = "performance_user"; 58 String passwd = "performance!QAZ"; 59 conn = DriverManager.getConnection(url.toString(), username, passwd); 60 stmt = conn.createStatement(); 61 grinder.logger.info("成功创建stmt!"); 62 grinder.logger.info("成功连接到数据库!"); 63 StringBuffer sql = new StringBuffer() 64 grinder.logger.info("tangxje_tab:" + databaseIP.get(fileRowNumber).split(",")[1]); 65 sql.append("insert into ") 66 .append(databaseIP.get(fileRowNumber).split(",")[1]) // 随机获取第二列数据库表名,同行取值列1 67 .append(" (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‘,‘") 68 .append("China BeiJing") 69 .append(new Random().nextInt(99999999)) 70 .append("‘, ‘work in SuNing for 3 years‘,‘2017-06-12 18:00:00‘,‘2017-06-13 15:00:00‘)") 71 grinder.logger.info("tangxje_sql:" + sql.toString()) 72 assertTrue(!stmt.execute(sql.toString()))//执行sql insert,!stmt.execute(sql)该写法只于insert true确认 73 //assertTrue(stmt.execute(sql));//执行sql query , !stmt.execute(sql)该写法只适用于query true确认 74 }catch(Exception e) { 75 e.printStackTrace(); 76 } 77 } 78 79 @AfterThread 80 public void afterThread() { 81 stmt.close(); 82 conn.close(); 83 } 84 }

文件:C:\Users\Lindows\workspace\GroovyTest\src\resources\databaseIP.txt

内容:

10.37.153.1,tab_102
10.37.136.165,tab_002
10.37.136.162,tab_002
10.37.136.163,tab_102

C:\Users\Lindows\Desktop\lab\groovy\libs 

技术分享
 1 asm-3.3.1.jar
 2 commons-lang-2.6.jar
 3 commons-lang3-3.3.2.jar
 4 commons-logging-1.0.4.jar
 5 grinder-core-3.9.1.jar
 6 grinder-dcr-agent-3.9.1.jar
 7 grinder-http-3.9.1.jar
 8 grinder-http-patch-3.9.1-patch.jar
 9 grinder-httpclient-3.9.1.jar
10 grinder-httpclient-patch-3.9.1-patch.jar
11 grinder-patch-3.9.1-patch.jar
12 hamcrest-all-1.1.jar
13 json-20090211.jar
14 junit-dep-4.11.jar
15 log4j-1.2.15.jar
16 logback-classic-1.0.0.jar
17 logback-core-1.0.0.jar
18 mysql-connector-java-5.1.36 (1).jar
19 ngrinder-core-3.4.jar
20 ngrinder-groovy-3.4.jar
21 ngrinder-runtime-3.4.jar
22 ngrinder-sh-3.4.jar
23 slf4j-api-1.6.4.jar
技术分享

 

 

end

TestRunnerInsertMysqlMore.groovy

标签:zhang   framework   url   username   china   6.4   代码示例   man   ssi   

人气教程排行