JDBC演示(二)

JDBC经典代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import java.sql.*;
import java.util.*;
public class test3{
public static void main(String[] args) {
//"C:\Users\xiaoguan\Downloads\test\com\mysql\jdbc\Driver.class"
ResourceBundle bundle=ResourceBundle.getBundle("JDBC");
Statement stm=null;
Connection conn=null;
ResultSet rs=null;//关闭顺序rs-->stm-->conn
try{
//1.注册驱动
String driver =bundle.getString("driver");
Class.forName(driver);
//2.获取连接
String name=bundle.getString("name");
String url=bundle.getString("url");
String pw=bundle.getString("pw");
conn=DriverManager.getConnection(url,name,pw);
System.out.println("数据库为"+conn);
//3.获取数据库对象(专门执行sql语句)
stm=conn.createStatement();
//4.执行sql
//专门执行DQL语句
//返回值影响数据库中的记录条数
String sql="select * from dept";//不用在最后加分号
rs=stm.executeQuery(sql);
//5.处理查询结果集(JDBC中下标列从1开始)
while(rs.next())
{
String deptno=rs.getString(1);//数字建议换成字符串的列名,更健壮,换列了也能输出,列明为最终查询结果重命名后的名字,要int类型就getInt,以此类推,可以用来运算。
String dname=rs.getString(2);
String loc=rs.getString(3);
System.out.println(deptno+","+dname+","+loc);
}


}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}
finally
{
//6.释放资源
//重小到大释放,ResultSet---->statement---->connection
try
{
if(rs!=null)
{
rs.close();
}
}
catch(SQLException e)
{
e.printStackTrace();
}
try
{
if(stm!=null)
{
stm.close();
}
}
catch(SQLException e)
{
e.printStackTrace();
}
try
{
if(conn!=null)
{
conn.close();
}
}
catch(SQLException e)
{
e.printStackTrace();
}


}

}
}

properties文件

1
2
3
4
driver=写驱动
name=写用户名
url=数据库url
pw=写密码