1、DriverManage:
//1.加载驱动两种方式,使用forName:
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动
静态代码块里面自动帮你加载,不用获取对象,因为没用到。
2、URL唯一定位符
String url = "jdbc:mysql://localhost:3306/jdbcStudy?
useUnicode=true&characterEncoding=utf8&useSSL=true";
//mysql -- 3306
//协议://主机地址:端口号/数据库名?参数1&参数2&参数3
//oracle -- 1521 oracle里面没有数据库,它一个表就是一个库
//jdbc:oracle:thin:@localhost:1521:sid
3、连接成功,数据库对象 Connection 代表数据库
//3.连接成功,数据库对象 Connection 代表数据库
Connection connection = DriverManager.getConnection(url, username, password);
//数据库设置自动提交
//事务提交,事务回滚
connection.rollback();
connection.commit();
connection.setAutoCommit(true);
4、Statement 执行SQL的对象 PrepareStatement 执行SQL的对象
String sql = "SELECT * FROM users";//编写SQL
Statement statement = connection.createStatement();
//5、执行语句
statement.executeQuery();//查询操作,返回一个结果集
statement.execute();//执行任何SQL
statement.executeUpdate();//更新、插入、删除。都是使用这个,返回一个受影响的行数
5、ResultSet 结果集对象,封装了所有的查询结果(只有查询才有)
resultSet.getObject();//在不知道列类型的情况下使用
//如果知道了列类型就使用指定的类型
resultSet.getInt();
resultSet.getString();
resultSet.getFloat();
resultSet.getDate();
resultSet.getBigDecimal();
…
6、遍历,指针
resultSet.beforeFirst(); //移动到最前面
resultSet.afterLast(); //移动到最后面
resultSet.next(); //移动到下一个
resultSet.previous(); //移动到前一行
resultSet.absolute(row); //移动到指定行
7、释放资源
//6.释放连接,必须做,很占用内存
resultSet.close();
statement.close();
connection.close();//这个很耗资源,用完关掉!