📄 mguardiandbplugin.java
字号:
package net.jumperz.app.MGuardian.plugin;
import java.util.*;
import java.io.*;
import java.sql.*;
import net.jumperz.net.*;
import net.jumperz.app.MGuardian.*;
import net.jumperz.util.*;
import net.jumperz.sql.*;
public abstract class MGuardianDBPlugin
extends MGuardianPlugin
{
protected void startup2() throws IOException{};
protected void shutdown2(){};
protected Connection connection;
protected String jdbcDriverClassName;
protected String dbmsUrl;
protected String dbmsUser;
protected String dbmsPass;
protected abstract String getPluginName();
protected boolean useDefaultDb = false;
private static final String DEFAULT_JDBC_DRIVER_CLASS_NAME = "net.jumperz.ext.org.hsqldb.jdbcDriver";
private static final String DEFAULT_DBMS_USER = "sa";
private static final String DEFAULT_DBMS_PASS = "";
private String pluginName;
//--------------------------------------------------------------------------------
public final void startup()
throws IOException
{
pluginName = getPluginName();
dbmsUrl = control.getProperty( pluginName + ".dbmsUrl" );
if( dbmsUrl == null )
{
useDefaultDb = true;
setupDefault();
}
dbmsUser = control.getProperty( pluginName + ".dbmsUser", DEFAULT_DBMS_USER );
dbmsPass = control.getProperty( pluginName + ".dbmsPass", DEFAULT_DBMS_PASS );
jdbcDriverClassName = control.getProperty( pluginName + ".jdbcDriverClassName", DEFAULT_JDBC_DRIVER_CLASS_NAME );
try
{
Class.forName( jdbcDriverClassName );
connection = getConnection();
}
catch( Exception e )
{
e.printStackTrace();
throw new IOException( pluginName + "_" + e.getMessage() );
}
startup2();
}
// --------------------------------------------------------------------------------
protected Connection getConnection()
throws SQLException
{
return DriverManager.getConnection( dbmsUrl, dbmsUser, dbmsPass );
}
//--------------------------------------------------------------------------------
public final void shutdown()
{
MSqlUtil.closeConnection( connection );
shutdown2();
}
//--------------------------------------------------------------------------------
private void setupDefault()
throws IOException
{
String pluginDirName = setupDefaultDir();
setupDefaultDatabase( pluginDirName );
}
//--------------------------------------------------------------------------------
private String setupDefaultDir()
throws IOException
{
String sessionLogDirName = control.getProperty( "sessionLogDirName" );
File sessionLogDir = new File( sessionLogDirName );
String sessionIdManagerDirName = sessionLogDir.getCanonicalPath() + "/" + pluginName;
return MSystemUtil.createDir( sessionIdManagerDirName );
}
//--------------------------------------------------------------------------------
private void setupDefaultDatabase( String pluginDirName )
throws IOException
{
String databaseDirName = MSystemUtil.createDir( pluginDirName + "/database" );
dbmsUrl = "jdbc:hsqldb:" + databaseDirName + "/database";
}
//--------------------------------------------------------------------------------
protected boolean tableExists( String tableName )
{
String queryString = "select count(*) from " + tableName;
try
{
MSqlUtil.executeUpdate( connection, queryString );
}
catch( SQLException e )
{
return false;
}
return true;
}
//--------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -