package jfreechart_database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtils {
// private static String driver= "com.mysql.jdbc.Driver";
// private String url= "jdbc:mysql://127.0.0.1:3306/test";
// private static String username="root";
// private static String pwd="root";
private static String[] props = {"com.mysql.jdbc.Driver",
"jdbc:mysql://127.0.0.1:3306/test", "root", "root"};
// 1、加载驱动
static {
try {
Class.forName(props[0]);
} catch (Exception e) {
e.printStackTrace();
}
}
// 2、获取连接
public static Connection getConnection() {
Connection con = null;
try {
con = DriverManager.getConnection(props[1], props[2], props[3]);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
// 3、释放资源
public static void release(Object o) {
try {
if (o instanceof ResultSet) {
((ResultSet) o).close();
} else if (o instanceof Statement) {
((Statement) o).close();
} else if (o instanceof Connection) {
((Connection) o).close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void release(ResultSet rs, Statement stmt, Connection con) {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (con != null) {
try {
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void printRs(ResultSet rs) {
if (rs == null)
return;
try {
ResultSetMetaData md = rs.getMetaData();
int num = md.getColumnCount();
StringBuffer sb = new StringBuffer();
for (int i = 1; i <= num; i++) {
int size = md.getColumnDisplaySize(i);
if (size != 0) {
String cname = md.getColumnName(i);
int blank = (size - cname.length()) / 2;
for (int j = 0; j < blank; j++)
sb.append(" ");
sb.append(cname);
if ((size - cname.length()) % 2 != 0)
blank++;
for (int j = 0; j < blank; j++)
sb.append(" ");
}
}
sb.append("\n");
while (rs.next()) {
for (int i = 1; i <= num; i++) {
int size = md.getColumnDisplaySize(i);
if (size != 0) {
String value = rs.getString(i);
int blank = (size - value.length()) / 2;
for (int j = 0; j < blank; j++)
sb.append(" ");
sb.append(value);
if ((size - value.length()) % 2 != 0)
blank++;
for (int j = 0; j < blank; j++)
sb.append(" ");
}
}
sb.append("\n");
}
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}