连接数据库函数
publicSQL() {
String url ="jdbc:mysql://localhost:3306/stuadmin";
String username = "root";
String password = "123456";
try { // 加载驱动程序以连接数据库
Class.forName("com.mysql.jdbc.Driver");
conn =DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException cnfex){ // 捕获加载驱动程序异常
System.err.println("装载 JDBC/ODBC 驱动程序失败。");
cnfex.printStackTrace();
System.exit(1);
} catch (SQLException sqlex) { // 捕获连接数据库异常
System.err.println("无法连接数据库");
sqlex.printStackTrace();
System.exit(1);
}
}
断开数据库连接
publicvoid shutDown() {
try {
conn.close(); //关闭数据库连接
} catch (SQLException sqlex) {
System.err.println("Unable todisconnect");
sqlex.printStackTrace();
}
}
获取下一条记录(被下面的getTable()调用)
@SuppressWarnings({ "rawtypes","unchecked" })
private Vector getNextRow(ResultSet rs,ResultSetMetaData rsmd)
throws SQLException {
Vector currentRow = new Vector();
for (int i = 1; i <=rsmd.getColumnCount(); ++i)
currentRow.addElement(rs.getString(i));
return currentRow; // 返回一条记录
}
查找数据库内容并将内容赋值到表格模型里并返回
@SuppressWarnings({"rawtypes", "unchecked" })
publicDefaultTableModel getTable(String sqltext) {
Object[][] p = {};
String[] n = { "无相关数据" };
DefaultTableModel model = newDefaultTableModel(p, n);
try {
statement = conn.createStatement();
resultSet = statement.executeQuery(sqltext);// 执行SQL语句
boolean moreRecords =resultSet.next();// 定位到达第一条记录
if (!moreRecords) // 如果没有记录,则返回空的表格模型
{
return model;
}
else { // 记录集不空时
Vector columnHeads = newVector();// 字段
Vector rows = new Vector(); // 记录
try {
ResultSetMetaData rsmd =resultSet.getMetaData();
for (int i = 1; i <=rsmd.getColumnCount(); ++i)
columnHeads.addElement(rsmd.getColumnName(i));// 获取字段的名称
do {
rows.addElement(getNextRow(resultSet,rsmd)); // 获取记录集
}while (resultSet.next());
model = newDefaultTableModel(rows, columnHeads) { // 生成表格模型
private static final long serialVersionUID = 1L;
public booleanisCellEditable(int row, int column) {
return false; // 表格内容不可编辑
}
};
} catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}
} catch (SQLException sqlex) {
sqlex.printStackTrace();
}
return model; // 返回表格模型
}
查找函数,找到返回true,没找到返回false
publicBoolean select(String sqltext) {
try {
statement= conn.createStatement();
resultSet= statement.executeQuery(sqltext);
if(resultSet.first()) {
returntrue;
}
} catch (SQLException sqlex) {
sqlex.printStackTrace();
}
return false;
}
插入、删除、修改函数,成功则返回变化的行数,失败返回0
public int othersql(String sqltext) {
int queryaffected = 0;
try {
statement =conn.createStatement();
queryaffected =statement.executeUpdate(sqltext);
} catch (SQLException sqlex) {
sqlex.printStackTrace();
}
return queryaffected;
}
查找指定数据字符串并返回
publicString getcell(String sqltext) throws SQLException {
String strgetted = null;
statement = conn.createStatement();
resultSet = statement.executeQuery(sqltext);
while (resultSet.next())
strgetted =resultSet.getString(1);
return strgetted;
}
查找指定数据字符串并返回
public int getintcell(String sqltext)throws SQLException {
int strgetted = 0;
statement = conn.createStatement();
resultSet =statement.executeQuery(sqltext);
while (resultSet.next())
strgetted = resultSet.getInt(1);
return strgetted;
}