package com.xing;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcTest {
public static void main(String[] args) throws Exception{
Connection conn = null;
Statement statement = null;
ResultSet rs = null;
String url= "jdbc:mysql://localhost:3306/XingCompany";//协议:自协议//[ip]:[port]/database
String user = "root";
String password = "";
try {
Class.forName("com.mysql.jdbc.Driver");
//内部通过静态代码块:DriverManager.RegisterDriver(new com.mysql.jdbc.Driver());
//静态代码块会在加载类的时候执行
conn = DriverManager.getConnection(url, user, password);
statement = conn.createStatement();
rs = statement.executeQuery("select * from user");
while (rs.next()){
System.out.println(rs.getObject(1) + "\t" + rs.getObject(2) + "\t" + rs.getObject(3));
}
} finally {
try {
if (rs != null){//严谨一些
rs.close();
}
} finally {//彻底删除statement,conn
try {
if (statement != null){
statement.close();
}
} finally {//彻底删除conn
if (conn != null){
conn.close();
}
}
}
}
}
}
注册驱动:我们可以优化,还有最后的关闭代码我们也可以优化。
工具类的特点:禁止继承(final标志),构造方法私有化(private),通过public static方法向外公开API。工具类中的异常抛出去。
静态代码块(可以保证执行一次。)
成员尽量定义成私有的。