KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > h2 > test > cases > TestKiller


1 /*
2  * Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http://h2database.com/html/license.html).
3  * Initial Developer: H2 Group
4  */

5 package org.h2.test.cases;
6
7 import java.math.BigDecimal JavaDoc;
8 import java.sql.Connection JavaDoc;
9 import java.sql.DriverManager JavaDoc;
10 import java.sql.PreparedStatement JavaDoc;
11 import java.sql.ResultSet JavaDoc;
12 import java.sql.SQLException JavaDoc;
13 import java.sql.Statement JavaDoc;
14
15 /**
16  * Destroyer application ;->
17  *
18  * @author Maciej Wegorkiewicz
19  */

20 public class TestKiller {
21     
22     public static void main(String JavaDoc[] args) throws Exception JavaDoc {
23         testWith("org.h2.Driver", "jdbc:h2:test", "sa", "sa");
24         testWith("org.postgresql.Driver", "jdbc:postgresql:jpox2", "sa", "sa");
25         testWith("com.mysql.jdbc.Driver", "jdbc:mysql://localhost/test", "sa", "sa");
26         testWith("org.hsqldb.jdbcDriver", "jdbc:hsqldb:test", "sa", "");
27         testWith("org.apache.derby.jdbc.EmbeddedDriver", "jdbc:derby:test3;create=true", "sa", "sa");
28     }
29     
30     public static class TestBigDecimal extends BigDecimal JavaDoc {
31         public TestBigDecimal(String JavaDoc s) {
32             super(s);
33         }
34         private static final long serialVersionUID = 6309132662083006892L;
35         public int compareTo(BigDecimal JavaDoc obj) {
36             return -super.compareTo(obj);
37         }
38         public String JavaDoc toString() {
39             throw new NullPointerException JavaDoc();
40         }
41     }
42     
43     static void testWith(String JavaDoc driver, String JavaDoc url, String JavaDoc user, String JavaDoc password)
44             throws Exception JavaDoc {
45         Class.forName(driver);
46         System.out.println("URL: " + url);
47         Connection JavaDoc conn = DriverManager.getConnection(url, user, password);
48
49         try {
50             Statement JavaDoc stmt = conn.createStatement();
51             try {
52                 conn.createStatement().execute("DROP TABLE TESTTAB");
53             } catch(SQLException JavaDoc e) {
54                 // ignore
55
}
56             stmt.execute("CREATE TABLE TESTTAB(VL DECIMAL(16,6) PRIMARY KEY)");
57             stmt.close();
58             PreparedStatement JavaDoc pstmt = conn.prepareStatement("INSERT INTO TESTTAB VALUES (?)");
59             pstmt.setBigDecimal(1, new TestBigDecimal("1"));
60             pstmt.execute();
61             pstmt.setBigDecimal(1, new TestBigDecimal("2"));
62             pstmt.execute();
63             pstmt.setBigDecimal(1, new TestBigDecimal("3"));
64             pstmt.execute();
65             pstmt.close();
66             ResultSet JavaDoc rs = conn.createStatement().executeQuery("SELECT * FROM TESTTAB ORDER BY VL");
67             while(rs.next()) {
68                 System.out.println("VL:" + rs.getString("VL"));
69             }
70             try {
71                 conn.createStatement().executeQuery("SHUTDOWN");
72             } catch(SQLException JavaDoc e) {
73                 // ignore
74
}
75             conn.close();
76             Class.forName(driver);
77             
78             conn = DriverManager.getConnection(url, user, password);
79             rs = conn.createStatement().executeQuery("SELECT * FROM TESTTAB ORDER BY VL");
80             while(rs.next()) {
81                 System.out.println("VL:" + rs.getString("VL"));
82             }
83             conn.close();
84         } catch(Throwable JavaDoc t) {
85             t.printStackTrace();
86         } finally {
87             if(conn != null) {
88                 conn.close();
89             }
90         }
91     }
92 }
93
Popular Tags