1
package
zuoye1;
2
3
import
java.sql.DriverManager;
4
import
java.sql.SQLException;
5
6
import
com.mysql.jdbc.Connection;
7
import
com.mysql.jdbc.ResultSet;
8
import
com.mysql.jdbc.ResultSetMetaData;
9
import
com.mysql.jdbc.Statement;
10
11
public
class
jdbc_connect {
12
13
/**
14
*
@param
args
15
*/
16
17
//
18
//
CREATE DATABASE `mydb` /*!40100 DEFAULT CHARACTER SET utf8 */;
19
//
CREATE TABLE `stuinfo` (
20
//
`ID` varchar(10) NOT NULL auto_increment,
21
//
`NAME` varchar(30) DEFAULT NULL,
22
//
`AGE` int(11) DEFAULT NULL,
23
//
PRIMARY KEY (`ID`)
24
//
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
25
26
public
static
void
main(String[] args) {
27
//
TODO Auto-generated method stub
28
String user = "root"
;
29
String password = "a123456"
;
30
String url = "jdbc:mysql://localhost:3306/mydb"
;
31
String driver = "com.mysql.jdbc.Driver"
;
32
//
String driver = "org.gjt.mm.mysql.Driver";
33
String tableName = "stuinfo"
;
34
String sqlstr;
35
Connection con =
null
;
36
Statement stmt =
null
;
37
ResultSet rs =
null
;
38
try
{
39
Class.forName(driver);
//
加载JDBC驱动。
40
con = (Connection) DriverManager.getConnection(url, user, password);
//
连接数据库
41
stmt =
(Statement) con.createStatement();
42
sqlstr = "insert into " +
tableName
43
+ " values ('20010838','honey',21)";
//
添加一条记录。
44
stmt.executeUpdate(sqlstr);
//
执行语句。
45
sqlstr = "select * from " +
tableName;
46
rs =
(ResultSet) stmt.executeQuery(sqlstr);
47
48
//
使用JDBC连接数据库需要四步,
49
//
第一步加载驱动程序;
50
//
第二步,连接数据库;
51
//
第三步,访问数据库;
52
//
第四步,执行查询;
53
//
其中在第四步执行查询时,要用statement类的executeQuery()方法来下达select指令以查询数据库,
54
//
executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用。
55
//
即语句:String sql="select * from"+tableName;
56
//
ResultSet rs=s.executeQuery(sql);
57
58
ResultSetMetaData rsmd =
(ResultSetMetaData) rs.getMetaData();
59
int
j = 0
;
60
j =
rsmd.getColumnCount();
61
for
(
int
k = 0; k < j; k++
) {
62
System.out.print(rsmd.getCatalogName(k + 1));
//
获得所在的Catalog名字
63
System.out.print("\t"
);
64
}
65
System.out.println();
66
while
(rs.next()) {
67
for
(
int
i = 0; i < j; i++
) {
68
//
结果集ResultSet存有一个表,该表的当前行可以访问。当前行的初始位置是null。
69
//
可以使用next方法移动到下一行,可以使用各种get方法从当前行获取值。如getString(1)获取第1列的数据。
70
System.out.print(rs.getString(i + 1
));
71
System.out.print("\t"
);
72
}
73
System.out.println();
74
}
75
}
catch
(ClassNotFoundException e1) {
76
System.out.println("数据库驱动不存在!"
);
77
System.out.println(e1.toString());
78
}
catch
(SQLException e2) {
79
System.out.println("数据库存在异常!"
);
80
System.out.println(e2.toString());
81
}
finally
{
82
try
{
83
if
(rs !=
null
)
84
rs.close();
85
if
(stmt !=
null
)
86
stmt.close();
87
if
(con !=
null
)
88
con.close();
89
}
catch
(SQLException e) {
90
System.out.println(e.toString());
91
}
92
}
93
}
94
95
}

