diff --git a/src/test/java/com/alibaba/druid/pool/qa/MySqlTestSuit.java b/src/test/java/com/alibaba/druid/pool/qa/MySqlTestSuit.java new file mode 100644 index 0000000000..051573f69e --- /dev/null +++ b/src/test/java/com/alibaba/druid/pool/qa/MySqlTestSuit.java @@ -0,0 +1,93 @@ +package com.alibaba.druid.pool.qa; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import junit.framework.TestCase; + +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.util.JdbcUtils; + +public class MySqlTestSuit extends TestCase { + + private DruidDataSource dataSource; + + protected void setUp() throws Exception { + //System.setProperty("druid.log.rs", "false"); + //System.setProperty("druid.log.stmt", "false"); + + dataSource = new DruidDataSource(); + dataSource.setUrl("jdbc:mysql://192.168.122.26:3306/druid"); + dataSource.setUsername("root"); + dataSource.setPassword("root"); + dataSource.setFilters("stat,log4j"); + dataSource.setValidationQuery("SELECT 1"); + dataSource.setTestOnBorrow(false); + dataSource.setTestWhileIdle(true); + } + + protected void tearDown() throws Exception { + JdbcUtils.close(dataSource); + } + + public void test_suit() throws Exception { + + createTable(); + { + Connection conn = dataSource.getConnection(); + Statement stmt = conn.createStatement(); + stmt.execute("INSERT INTO T (FID) VALUES (1)"); + stmt.close(); + stmt.close(); + conn.close(); + } + { + Connection conn = dataSource.getConnection(); + PreparedStatement stmt = conn.prepareStatement("select * from T where fid = ?"); + stmt.setInt(1, 1); + ResultSet rs = stmt.executeQuery(); + rs.close(); + stmt.close(); + stmt.close(); + conn.close(); + } + + { + Connection conn = dataSource.getConnection(); + Statement stmt = conn.createStatement(); + stmt.execute("INSERT INTO T (FID) VALUES (2)"); + stmt.close(); + stmt.close(); + conn.close(); + } + dropTable(); + } + + private void dropTable() throws SQLException { + try { + Connection conn = dataSource.getConnection(); + PreparedStatement stmt = conn.prepareStatement("DROP TABLE T"); + stmt.execute(); + conn.close(); + stmt.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void createTable() throws SQLException { + try { + Connection conn = dataSource.getConnection(); + PreparedStatement stmt = conn.prepareStatement("CREATE TABLE IF NOT EXISTS T (FID INT)"); + stmt.execute(); + conn.close(); + stmt.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + +}