JDBC 中对象的解释
DriverManager
//两个注册驱动一样,推荐下面方法,因为源码已经注册了驱动,所以不需要用第一种方式去注册驱动
//DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, password);
//con代表数据库
//数据库设置自动提交
con.setAutoCommit();
//事务提交
con.commit();
//事物回滚
con.rollback();
url
String url="jdbc:mysql://localhost:3306/shop?&useSSL=false&serverTimezone=UTC";
String url="jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=utf8&useSSL=true";
"协议://主机地址:端口号/数据库?&参数1 &参数2 &参数3;
jdbc:mysql://协议
//localhost:3306/ //端口名
shop //数据库
statement 执行 SQL 的对象 PreparedStatement 执行 SQL 的对象
Connection con = DriverManager.getConnection(url, user, password);
Statement statement = con.createStatement();
statement.executeQuery();//查询操作返回 ResultSet
statement.execute();//执行任何SQL语句
statement.executeUpdate();//更新,插入,删除都是用这个,返回一个受影响的行数
String sql = "Select * from users";//编写SQL
ResultSet//查询的所有结果集;封装了所有的查询结果
获得指定的数据类型
ResultSet resultSet = statement.executeQuery();
resultSet.getObject();//不知道列类型的情况下
resultSet.getString();//知道指定列类型的情况下
resultSet.getInt();
resultSet.getDouble();
遍历
resultSet.beforeFirst();//移动到最前面
resultSet.afterLast();//移动道最后面
resultSet.next();//移动到下一个数据
resultSet.next();//移动到下一个数据
resultSet.previous();//移动到前一行
resultSet.absolute(row)//移动到指定行
释放资源
ResultSet.close();
Statement.close();
Connection.close();