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 }