第一节写的那个例子很不规范,这一劫将要对上一节的例子进行优化。
首先要创建一个工具类jdbcUtils
import java.sql.*;
public final class jdbcUtils {
public static String url="jdbc:sqlserver://localhost:1988;DatabaseName=jdbc";
public static String username="sa";
public static String userPwd="123";
private jdbcUtils(){
}
static {
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException e) {
throw new ExceptionInInitializerError(e);
}
}
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url,username,userPwd);
}
public static void free(Connection conn,Statement st,ResultSet rs){
try{
if(rs!=null)
rs.close();
}catch(SQLException e){
e.printStackTrace();
}finally {
try{
if(st!=null)
st.close();
}catch(SQLException e){
e.printStackTrace();
}finally{
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
然后优化上一节的test()
static void template() throws SQLException
{
Connection conn=null;
Statement st=null;
ResultSet rs=null;
try{
//建立连接
conn=jdbcUtils.getConnection();
//创建语句
st=conn.createStatement();
//执行语句
rs=st.executeQuery("select * from T_Users");
//处理结果
while(rs.next())
{
System.out.println(rs.getObject(1)+"||"+rs.getObject(2)+"||"+rs.getObject(3)+"||"+rs.getObject(4));
}
}
finally{
jdbcUtils.free(rs, st, conn);
}
}