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 }