/* * 此源代码是我根据网上的源代码所进行的修改,当然头部的注释是我的总结 这里连的是mysql6,所使用的mysql驱动包为mysql-connector-java-5.1.10-bin.jar 需要注意是 (1)大小写的区分 (2)localhost与127.0.0.1有时会出现一个异常CommunicationsException (在数据库里DriverManager.getConnection的第一个参数url里有时用127.0.0.1不行,非要是localhost才可以,不然会出现CommunicationsException异常) (3)DriverManager.getConnection(url,string,string)这里主要介绍url, jdbc:mysql://localhost:3306/practise,practise是数据库 在mysql控制台创建数据库 create database practise; use practise; create table user(username varchar(15),password varchar(20)); insert into user values(‘Peter’,’123’); 执行此程序的结果: peter 123 (4)Statement 用于执行静态 SQL 语句并返回它所生成结果的对象 在默认情况下,同一时间每个 Statement 对象在只能打开一个 ResultSet 对象。因此, 如果读取一个 ResultSet 对象与读取另一个交叉,则这两个对象必须是由不同的 Statement 对象生成的。如果存在某个语句的打开的当前 ResultSet 对象,则 Statement 接口中的所有执行方法都会隐式关闭它。 (5)ResultSet 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 ResultSet 对象具有指向其当前数据行的指针。最初,指针被置于第一行之前。next 方法将指针移动到下一行;因为该方法在 ResultSet 对象中没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。 * */ package com.kun; import java.sql.*; public class Testjdbc{ static Connection conn = null; public static Connection getconnectionbyjdbc() { try { //装载驱动包类 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.println("装载驱动包出现异常!请查正!"); e.printStackTrace(); } try { /*建立jdbc连接,但要注意此方法的第一个参数,如果127.0.0.1出现 CommunicationsException异常,可能就需要改为localhost才可以*/ conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/practise","root","zckun"); } catch (SQLException e) { System.out.println("链接数据库发生异常!"); e.printStackTrace(); } return conn; } public static void test() { String sql = "select * from user"; getconnectionbyjdbc(); try { //创建一个jdbc声明 Statement stmt = conn.createStatement(); //执行查询 ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { String username = rs.getString("username"); String password= rs.getString("password"); System.out.println(username +" "+ password); } } catch (SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } finally { //预防性关闭连接(避免异常发生时在try语句块关闭连接没有执行) try { if (conn != null) conn.close(); } catch (SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } } } public static void main(String args[]) { new Testjdbc().test(); } }