import com.mysql.jdbc.Driver; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class JDBC { public static void main(String[] args) throws Exception { /* 1.方式一:导入JDBC,注册驱动,这种方式会导致驱动注册两次,所以选择第二种方式 2.而且,在6版本以后系统会包警告,不推荐使用。新的驱动程序类为“ com.mysql.cj.jdbc.Driver”。该驱动程序通过SPI自动注册, 通常不需要手动加载该驱动程序类。 */ DriverManager.registerDriver(new Driver()); /* 1.方式二:导入JDBC,使用反射方式注册驱动 2.在我也不清楚的版本中,这一句也不用写了 */ Class.forName("com.mysql.cj.jdbc.Driver"); //获取连接对象 /* 1.com.mysql.jdbc.Driver是mysql-connector-java 5及其以前的,com.mysql.cj.jdbc.Driver是mysql-connector-java 6及其以后的 2.JDBC连接Mysql6 com.mysql.cj.jdbc.Driver需要指定时区serverTimezone,在设定时区的时候,如果设定serverTimezone=UTC, 会比中国时间早8个小时如果在中国,可以选择serverTimezone=Asia/Shanghai或者serverTimezoneAsia/Hongkong */ Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo2?serverTimezone=Asia/Shanghai", "root", "199701"); //根据连接对象,获取可执行SQL语句的对象 Statement stat = conn.createStatement(); //执行SQL语句,获取结果集 String sql = "select * from user"; ResultSet rs = stat.executeQuery(sql); while (rs.next()) {//判断是否还有下一个结果集. //从结果集在栈中获取数据 int uid = rs.getInt("uid"); String name = rs.getString("name"); String password = rs.getString("password"); System.out.println(uid + " " + name + " " + password); } //释放资源 rs.close(); stat.close(); conn.close(); } }