package cn.itheima.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.jdbc.Driver;
public class JDBCDemo1 {
public static void main(String[] args) throws Exception {
//1.注册驱动(其实这里注册了两次)
DriverManager.registerDriver(new Driver());
//2.获取数据库的连接
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day10", "root", "169500");
//3.获取传输对象
Statement statement = con.createStatement();
//4.得到结果集
ResultSet rs = statement.executeQuery("select * from user");
//5.遍历结果集
while(rs.next()){
String name = rs.getString("name");
byte gender = rs.getByte("gender");
System.out.println(name+":"+gender);
}
//6.关闭资源
rs.close();
statement.close();
con.close();
}
}
缺点:
其实一共注册了两次驱动,可以看driver的源码注册一次,我们人工的注册了一次。
关闭资源不合理。
JDBCDemo2:
package cn.itheima.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCDemo2 {
public static void main(String[] args) {
Connection con=null;
Statement sta=null;
ResultSet rs=null;
try{
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
con= DriverManager.getConnection("jdbc:mysql://localhost:3306/day10", "root", "169500");
//3.获取传输对象
sta=con.createStatement();
//4.结果集
rs=sta.executeQuery("select * from user");
//5.遍历结果集
while(rs.next()){
String name=rs.getString("name");
System.out.println(name);
}
}catch (Exception e) {
e.getMessage();
}finally{
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs=null;
}
}
if(sta!=null){
try {
sta.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
sta=null;
}
}
if(con!=null){
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
con=null;
}
}
}
}
}
缺点:代码冗余,因此最后写一个工具类。
运行结果:
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/u014010769/article/details/46686639