package my.test.jdbc;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;
import org.h2.jdbc.JdbcConnection;
public class JdbcConnectionTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
Properties prop = new Properties();
prop.setProperty("user", "sa");
prop.setProperty("password", "");
String url = "jdbc:h2:tcp://localhost:9092/test9";
System.setProperty("h2.baseDir", "E:\\H2\\baseDir");
//TRACE_LEVEL_FILE参数放System中无效,放在url中非法,只能放在prop中
//System.setProperty("TRACE_LEVEL_FILE", "E:\\H2\\baseDir\\MY_TRACE_LEVEL_FILE");
//url +="; TRACE_LEVEL_FILE=E:\\H2\\baseDir\\MY_TRACE_LEVEL_FILE";
//prop.setProperty("TRACE_LEVEL_FILE", "E:\\H2\\baseDir\\MY_TRACE_LEVEL_FILE.txt"); //只能是数字
//prop.setProperty("TRACE_LEVEL_FILE", "10");
prop.setProperty("TRACE_LEVEL_SYSTEM_OUT", "20");
url = "jdbc:h2:tcp://localhost:9092,localhost:9093/test9";
url = "jdbc:h2:mem:memdb";
//prop.setProperty("AUTO_SERVER", "true"); //AUTO_SERVER为true时url中不能指定多个server
prop.setProperty("AUTO_RECONNECT", "true");
//prop.setProperty("DATABASE_EVENT_LISTENER", "org.h2.samples.ShowProgress");
//prop.setProperty("DATABASE_EVENT_LISTENER", "my.test.JdbcConnectionTest$MyDatabaseEventListener");
//prop.setProperty("CIPHER", "my_cipher");
//prop.setProperty("password", "my_password1 my_password2");
JdbcConnection conn = new JdbcConnection(url, prop);
PreparedStatement ps = conn.prepareStatement("insert into t values(?,?)");
ps.setInt(2, 20);
ps.setString(1, "aaa");
ps.executeUpdate();
ps.close();
//stmt.close();
conn.close();
}
public static class MyDatabaseEventListener implements org.h2.api.DatabaseEventListener {
@Override
public void init(String url) {
// TODO Auto-generated method stub
}
@Override
public void opened() {
// TODO Auto-generated method stub
}
@Override
public void exceptionThrown(SQLException e, String sql) {
// TODO Auto-generated method stub
}
@Override
public void setProgress(int state, String name, int x, int max) {
// TODO Auto-generated method stub
}
@Override
public void closingDatabase() {
// TODO Auto-generated method stub
}
}
}