基础代码:
//1. 加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 固定写法 反射 加载驱动 //2. 用户信息和url //useUnicode=true&characterEncoding=utf8&useSSL=true //支持中文编码 设置中文字符为utf-8 使用安全的连接 String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true"; String username = "root"; String password = "密码"; //3. 连接成功,数据库对象Connection 代表数据库 Connection connection = DriverManager.getConnection(url, username, password); //4. 执行sql的对象 statement是执行sql语句的对象 Statement statement = connection.createStatement(); //5. 执行sql的对象 去 执行sql, 可能存在结果,查看返回结果 String sql = "select * from users"; ResultSet resultSet = statement.executeQuery(sql); // 返回的结果集, 结果集中封装了我们全部查询出来的结果 System.out.println(resultSet); while (resultSet.next()){ System.out.println("id=" + resultSet.getObject("id")); System.out.println("name=" + resultSet.getObject("NAME")); System.out.println("pwd=" + resultSet.getObject("PASSWORD")); System.out.println("email=" + resultSet.getObject("email")); System.out.println("birth=" + resultSet.getObject("birthday")); } //6. 释放连接 resultSet.close(); statement.close(); connection.close();
对象解释:
DriverManager
Class.forName("com.mysql.jdbc.Driver"); // 固定写法 反射 加载驱动
Connection connection = DriverManager.getConnection(url, username, password);
connection 代表数据库
数据库设置自动提交 connection.setAutocommit();
事务提交 connection.commit();
事务回滚 connection.rollback();
Statement 执行sql的对象
statement.executeQuery(); // 查询操作返回resultSet
statement.execute(); // 执行任何sql
statement.executeUpdate(); //更新、插入、删除都是用这个,返回受影响的行数
resultSet 查询结果集,封装了所有的查询结果
resultSet.getObject(); //在不知道列类型情况下使用
resultSet.getString();
resultSet.getInt();
resultSet.getFloat();
resultSet.getDate();
result.next(); // 移动到下一个数据