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 JdbcDemo {
/**
* 加载驱动
*/
static{
try {
/*
* 此处class.forName的作用是,获得与className制定的类,并初始化该类
* 初始化该类时会jvm会加载该类的static代码块
* Driver类的静态代码块中会往DriverManager中注册自身驱动
*/
String className = "com.mysql.jdbc.Driver";
Class.forName(className);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 获取数据库连接
*/
public static Connection getConnection(){
String url = "jdbc:mysql:127.0.0.1:3306/demo";
String username = "root";
String password = "root";
Connection connection = null;
try {
connection = DriverManager.getConnection(url,username,password);
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
/**
* 释放资源
*/
public static void close(Connection connection , Statement statement , ResultSet resultSet){
try {
// Assert.notNull(connection,""); ----spring的断言工具
connection.close();
} catch (SQLException e) {
}
try {
statement.close();
} catch (SQLException e) {
}
try {
resultSet.close();
} catch (SQLException e) {
}
}
/**
* 获取statement对象,操作数据库,处理返回结果
*/
public static void process(){
Connection connection = getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "";
try {
ps = connection.prepareStatement(sql);
if (ps.execute()) {
rs = ps.getResultSet();
System.out.println(rs);
}else {
int count = ps.getUpdateCount();
System.out.println(count);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(connection, ps, rs);
}
}
/**
* 处理返回结果集
*/
public static void dealResultSet(ResultSet rs){
if (rs == null) return;
try {
ResultSetMetaData data = rs.getMetaData();
int count = data.getColumnCount();
StringBuffer strBuffer = new StringBuffer();
while (rs.next()) {
for (int i = 1; i <= count; i++) {
strBuffer.append(data.getColumnName(i) + "=");
strBuffer.append(rs.getString(i) + "/t");
}
strBuffer.append("/n");
}
System.out.println(strBuffer.toString());
} catch (Exception e) {
}
}
}